解決しようとする課題閉じ:Kivyアンドロイドのみ負荷のアプリ(3秒)と、それ自体
私はOracleの仮想マシン上で
buildozer
を使用して構築されたKivy-Pythonアプリケーションについてお尋ねしたいと思いますが。アプリはを使用し、numpy
を使用して Windows、、python 3に書かれており、一部は.png
に依存しています。 APKファイルの構築:仮想マシンのLinux端末に
は、私がメインファイル
main.py
が含まれているプロジェクトフォルダ を設定し、実行した:buildozer android debug
この行による処理にかなりの時間がかかりました。 apkファイルのサイズは で11MBです。電話を接続した後、私は(VM Linux端末で)実行しました:
buildozer android deploy run
アプリが電話機にインストールされました。
問題:
しかし、私はそれを開く:それだけ Kivyのロゴと一緒に「ロードを...」と言うと、それは自分自身を閉じます。この原因は何ですか?私 コードは
python 3
に書かれていた間、私は、VM端子で見たPythonは
python 2.7.13
です。 これが問題ですか?あれば、 は何の解決策ですか?これについてフィードバックをお寄せください。ありがとう。
SOLUTION:
解決策は、それが
python 2.7
で動作するようにコードを書き換えることでした。コードはPython2とPython3で動作します。次に、編集したmain.py
を使ってapkを構築します。今、それはクラッシュしません。 「:Sパイソン:android.logcat_filters = * D」あなたはコメントを外すことにより、いくつかのlogcatの出力をフィルタリングするための正規表現を追加することができます
あなたのデバイスからlogcatを入手して、クラッシュの原因を調べる必要があります。デフォルトのbuildozer設定を使用してパッケージ化している可能性があります。 python3、それ以外のものかもしれませんが、最も簡単な方法は 'buildozer android run logcat'を使ってapがクラッシュしたときのエラーを確認することです。 – Tshirtman
@Tshirtmanありがとう。コードの行..(とエラーは表示されません)、ctrl-cを使用して中断すると、最後の行でPythonファイル< - buildozerフォルダ< - からPython 2のフォルダからPythonファイルが実行されます。 'buildozer'はまだPython 3をパッケージ化できません。だから解決策は、Python 2で互換性があるようにコードを書き直すことかもしれません。 – Arief
新しい問題は新しい質問であるはずです。 (buildozerはpython3 btwにパッケージ化することができます。それに依頼してクリスタックスNDKをインストールする必要があります) – Tshirtman