AndroidでPythonを実行する方法はありますか?


11 Answers

新しいAndroid Scripting Environment (ASE / SL4A)プロジェクトもあります。 それはすごく見え、それはネイティブのAndroidコンポーネントといくつかの統合を持っています。

注:もはや「積極的開発」の下にはないが、いくつかのフォークが存在する可能性がある。

Question

私たちはS60バージョンの開発を進めており、このプラットフォームには素敵なPython APIがあります。

しかし、AndroidにはPythonに関する公式はありませんが、 Jythonが存在するので、ヘビとロボットが一緒に働く方法がありますか?




QPythonアプリケーションを使用します。 それはエディタ、コンソールを持ち、Pythonプログラムをそれと共に実行することができます。 アプリケーションは無料で、リンクはhttp://qpython.com/です。







Python 2.7.2をAndroid用にクロスコンパイルするための手順とパッチを投稿しました。私のブログで入手できます: http://mdqinc.com/blog/2011/09/cross-compiling-python-for-android/ : http://mdqinc.com/blog/2011/09/cross-compiling-python-for-android/

編集:私はオープンソースのIgnifuga 、私の2Dゲームエンジン、それはPython / SDLベースであり、Android用にクロスコンパイルします。 あなたがゲームのために使っていないとしても、コードとビルダーユーティリティ(Schafer、Timの後に誰かを知っています)から有用なアイデアを得るかもしれません。




Googleの従業員は、 SL4ASL4A書いています。




これはここに掲載されていませんでしたが、PysideとQtを使って、NecessitasのおかげでAndroid上でQtが動作するようになりました。

それは現時点でかなりのようなものですが、最終的に実行可能なルートになる可能性があります...

http://qt-project.org/wiki/PySide_for_Android_guide




シャクピ

Chaquopyは、Android StudioのGradleベースのビルドシステム用のプラグインです。 これは、標準のAndroid開発ツールとの緊密な統合に焦点を当てています。

  • これは、 JavaからPythonまたはPythonからJavaを呼び出すための完全なAPIを提供し、開発者はアプリケーションの各コンポーネントに最適な言語を使用できます。

  • PyPIパッケージを自動的にダウンロードし、NumPyなどの選択されたネイティブパッケージを含むアプリにビルドすることができます。

  • それは、ネイティブユーザインタフェースツールキット( 純粋なPythonアクティビティの例 )を含むPythonのすべてのAndroid APIへのフルアクセスを可能にします。

これは商用製品ですが、オープンソースでの使用は無料で、常にそのままです。

(私はこの製品の作成者です。)




Python恋人とAndroidのプログラマーとして、これは実際には良い方法ではないと言って悲しいです。 2つの問題があります。

1つの問題は、Android開発ツールに単なるプログラミング言語以上のものがあることです。 多くのAndroidグラフィックスには、HTMLと同様に、XMLファイルが表示を構成します。 組み込みのJavaオブジェクトは実際にはこのXMLレイアウトと統合されており、ロジックからビットマップへ行くための独自のコードを書くよりもずっと簡単です。

もう1つの問題は、G1(と近い将来の他のAndroidデバイス)が本当に速くないということです。 200 MHzプロセッサ、RAMは非常に限られています。 Javaの場合でも、あなたのアプリを完全に滑らかにしたい場合は、オブジェクトの作成を避けるための書き換えを行う必要があります。 Pythonはモバイル機器ではまだまだ遅いです。







SL4A(それは既に他の答えで言及されています)を使用run 、本格的なweb2pyインスタンスをrunできます(他のpython Webフレームワークも同様に候補者です)。 SL4Aでは、ネイティブUIコンポーネント(ボタン、スクロールバーなど)は実行できませんが、WebViewはサポートされています。 WebViewは、基本的には、固定アドレスを指し示すストライプされたウェブブラウザである。 私はネイティブのGmailアプリケーションは、通常のウィジェットのルートに行くのではなく、WebViewを使用すると考えています。

このルートにはいくつか興味深い機能があります:

  • ほとんどのPython Webフレームワークでは、アンドロイドデバイスやアンドロイドエミュレータを使用せずに、実際に開発してテストすることができます。
  • あなたが電話のために書いた最終的なPythonコードは、(もしあれば)ごくわずかな変更で公開Webサーバーに置くこともできます。
  • あなたはクレイジーウェブのすべてを利用することができます:クエリー、HTML5、CSS3など



おそらくmosyncを実行しているpython-on-a-chipもあります: googleグループ




sl4aを使用してPythonコードを実行できます。 sl4aは、Python、 PerlJRubyLua 、BeanShell、JavaScript、 Tcl 、およびシェルスクリプトをサポートしています。

sl4aのPythonの例を学ぶことができます。




Related