PythonとDalvikの間のネイティブブリッジまたはAAF
-
26-12-2019 - |
質問
同じアドレス空間にPythonとDalvikをブリッジするプロジェクトはありますか?
それは1つの言語で作成されたオブジェクトを他の言語として登録することができ、その逆も同様です。
-
PythonはCPYTHONまたはPYPYであり得る;
Dalvikは、フルAndroidアプリケーションフレームワーク、またはDalvik仮想マシンのみ、または最悪の場合、Dalvik JVMでも;
ブリッジは、Python / CFFI、Python / JNI、ネイティブC / C ++コード、さらにはJavaでも記述できます。
スクリプト環境は、わかりますので、欲しいものはしません。
Python - Dalvik Bridgeの全部不足の場合、フル機能のC / C ++ベースのC / C ++ - Dalvik Bridgeを最後のリゾートとして有効な答えとして取ります。次に、セキュリティ上の考慮事項を含む、実行時にいくつかのAndroid APIに有効なリスナーとして送信できるC / C ++ LandのOnオブジェクトをインスタンス化することが必要です。
解決
(私の元のコメントに従って)
あなたは pyjnius を知っていますか?インテントリスニングのようなものの管理を含む、Javaクラスと対話するためのKivy Python for-Androidプロジェクトによって使用されます。これが技術的に不適切な場合はお詫び申し上げます。この分野について十分にわかりません。
マイナーリファレンスとして、リスナーの例 Pythonでインテントリスナーインタフェースを実装し、それをpyjnius
を使用してAndroid実行時に登録します。
スーパーシンプルな例では、Javaへの呼び出し。
>>> from jnius import autoclass
>>> autoclass('java.lang.System').out.println('Hello world')
Hello world
. 他のヒント
実際には、PythonでAndroidというモジュールがあります。Androidシステムではかなり多くのことができます。ここではダウンロードできます。 https://pypi.python.org/pypi/python-android
Dalvik処理もサポートするPython / Javaブリッジもあります。これがソフトウェアを取得できる場所です。