2016-05-26 2 views
5

私は、AndroidアプリケーションをビルドするためにPythonを使用するいくつかの方法を見つけました。しかし、それらはすべてsl4aとpythonforandroidをインストールする必要があります。 それはとても複雑ですので、私のアンドロイドアプリプロジェクトにsl4aをパッケージする方法はあります。そして、私がapkをインストールしたら、もうsl4aをインストールする必要はありません。sl4aをインストールせずにアンドロイドでPythonコードを呼び出す方法はありますか?

+0

トピック: [Android JavaアプリケーションでPythonコードを統合するにはどうすればよいですか?](https://www.quora.com/How-can-I-integrate- Python-code-in-the-Android-Java-app) そして、私があなたが確認すべきもう一つの良いプロジェクトがあります:[python-for-android](https://github.com/kivy/python -for-android) – Sir1

答えて

3

次のリンクでKivyを使用することができます。

Python for Android

これは、uは、以下のトピックに見て助けることができます。

How can I integrate a Python code in the Android Java app?

はあなたのこのヘルプを願っています。

+0

私はちょうどいくつかのpythonスクリプト(Javaを使用して私のプロジェクトのコードのほとんど)を呼び出すことができますそれはkivyがJavaとよく互換性がないと思われ、UIはネイティブアンドロイドアプリとの違いです。 – ZXF

+0

私はいくつかの調査をしましたが、もしあなたがこれを助けることができるかどうかわかりません。[Java Native Access(JNA)](https://github.com/java-native-access/jna) – Sir1

1

You これを行う。それは、あなたのアプリにPythonインタプリタ(NDKでコンパイルされたもの)をパッケージ化し、標準のNDKメカニズムを介して起動することです。これは同じことです。 Kivyはそうですが、Javaブートストラップを使って(Kivyのように)自分のアプリケーションにコードを追加して、Pythonが他のすべてを管理できるようにします。

最近少し議論/開発が行われているオプションの1つは、python-for-androidを使用してすべてのPythonコンポーネントをビルドし、Javaプロジェクトにコピーして処理するコードを追加することです。これは可能ですが、現時点では簡単ではありませんが、必要な出力を得るために内部的にどのように動作するかを調べる必要があります。

もう1つのオプションは、Python以外のコンパイル済みコードを必要としない場合は、CrystaX NDKのプリコンパイル済みのPythonバイナリを直接使用することです。この場合、Pythonバイナリを含めて、 Android.mk。インタプリタとやりとりするにはまだCとNDKのコードが必要ですが、そのプロセスはかなり簡単です。

(SL4Aには独自のいくつかのAndroidビルドツールが用意されていますが、これにも使用できますが、SL4AはSL4Aがちょうどその上に余分なことをすると思うので、 Pythonインタープリタを持っている)。

+0

python.https://www.crystax.net/en/blog/6に言及して、これに関する記事やデモがありますか? – ZXF

+0

実際には、個々のステップが相当に価値があるのはかなり標準的ですが、そうではありません。クリスタックスのバイナリの使用例については、python-for-androidのpython3のサポートを見ることができますが、他の多くの機能と結びついているので、これもやりにくいでしょう。 – inclement

関連する問題