web-dev-qa-db-ja.com

python build Android apps?

私はpythonを学んでいますが、Androidアプリを作成したい場合に役立つかどうかわかりません。pythonがAndroidを作成できることをどこかで読んだことがあります。 app。しかし、それは良い選択肢であるか、それともAndroidアプリを作成するために特別に開発されているため、常にandriodstudioを使用してAndroidアプリを作成する必要があります。

7
Akshat Patni

私はKivyのコア開発者であり、他のいくつかの回答で言及されています。これがAndroid用のpythonアプリを作成するための主なオプションであり、長所と短所の両方があります。

主な技術的な欠点は次のとおりです(私の意見と私が人々が提起する主な問題の両方で):

  • 起動速度:アプリがまだ実行されていない場合、pythonインタープリターを起動するのに短い時間がかかり、古いデバイスでは最大数秒かかります(または、コーディングが不適切な場合はさらに長くなります)しかし、それは避けられます)、その間、ロード画面が表示されます。

  • ネイティブのルックアンドフィールの欠如:Kivyは独自のopenglベースのグラフィカルフレームワークであるため、デフォルトのAndroidアプリのようには見えません(カスタマイズ可能ですが、そのようなものを完全にエミュレートするのは非常に困難です)

  • APKサイズ:pythonインタープリターをパッケージ化する必要があるため、apkの最小サイズは約7MBです。

変更時にAndroid api)に追いつく必要があるというJava以外の標準的な問題など、他の潜在的な欠点もありますが、これらのより小さな問題を検討します。実際には、Java apiをpython with pyjniusから直接呼び出します。これについては ブログ投稿 があります。別の問題はkivyのコミュニティは、Javaアプリコミュニティのコミュニティに比べると小さいですが、非常に活発です。

一部の人々にとって、これらの1つ以上は、Kivyを使用する上での即時または最終的な障壁です。他の人にとっては、それらは問題ではないか、利点よりも重要です。これらの理由から、Android(およびiOS)でKivyを商業的に使用している人がいます。個人的に私は広いスペースに最も興味があります「私は簡単なスクリプトを書いた」と「私は大きく洗練されたAndroid app」を作成しました。これは、単純なものを単純なアプリとしてバンドルするよりも簡単なはずだからですが、それだけです。 kivyを使用する私自身の理由。

9
inclement

AndroidにはPythonインタープリターが付属していません。したがって、Pythonで記述されたアプリケーションを配布する場合は、Pythonインタープリターをバンドルする必要があります。つまり、「HelloWorld!」アプリでさえ巨大になります。

そうです、 可能です 。ただし、お勧めしません。

1
Zenadix

Chaquopy( https://chaquo.com/chaquopy/ )は、AndroidのPythonのオプションです。これはAndroid St​​udioのプラグインであるため、PythonのコードでAndroid St​​udioインターフェースとGradleを使用して、両方の長所を含めることができます。

Chaquopyページから:

Python AP​​Iを使用すると、アプリの一部または全部をPythonで作成できます。完全なAndroidAPIとユーザーインターフェースツールキットは直接自由に使用できます。

Chaquopyの詳細なレビューは http://blog.codelv.com/2018/02/a-look-at-chaquopy-python-sdk-for.html にあります。

Chaquopyの作成者も、このレビューについて次のようにコメントしています。

AndroidのPythonにはさまざまなアプローチの余地があると思います。 Chaquopyは、標準のAndroidAPIとビルドツールのすべての機能への完全なアクセスを提供することに重点を置いています。 (たとえば、あなたが言及したXMLレイアウトファイルはAndroid St​​udioのWYSIWYGエディターを使用して生成されました。手動で作成する必要はありませんでした。)しかし、もっとPythonicなもの、または他のプラットフォームに移植可能なものが必要な場合は、次に、enaml-nativeまたはKivyが最適です。

警告:私はこれを(まだ)個人的にテストしていないので、どれだけうまく機能するかを確認できません。かなり複雑です。

追加:5分以上実行するにはライセンスキーが必要なようですそしては支払いが必要です。オープンソースを開発することにした場合、 「常に無料になります。」 のオープンソースライセンスがあります。

1
LabGecko

質問が「pythonでAndroidプログラムを実行できますか?」の場合は、必ずはい。しかし、pythonを使用してモバイルアプリを作成することが目的の場合は、まだpython3をサポートしていないkivyを見てください。しかしpythonの愛の外では、ネイティブのAndroidアプリの場合はAndroidスタジオに固執するのが最善です。

1
mrsachindixit

kivyを試してください https://github.com/kivy/python-for-Android

Androidアプリの作成に使用できます。

0
yolad