2017-10-08 4 views
1

解決しようとする課題閉じ: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の出力をフィルタリングするための正規表現を追加することができます

+1

あなたのデバイスからlogcatを入手して、クラッシュの原因を調べる必要があります。デフォルトのbuildozer設定を使用してパッケージ化している可能性があります。 python3、それ以外のものかもしれませんが、最も簡単な方法は 'buildozer android run logcat'を使ってapがクラッシュしたときのエラーを確認することです。 – Tshirtman

+0

@Tshirtmanありがとう。コードの行..(とエラーは表示されません)、ctrl-cを使用して中断すると、最後の行でPythonファイル< - buildozerフォルダ< - からPython 2のフォルダからPythonファイルが実行されます。 'buildozer'はまだPython 3をパッケージ化できません。だから解決策は、Python 2で互換性があるようにコードを書き直すことかもしれません。 – Arief

+1

新しい問題は新しい質問であるはずです。 (buildozerはpython3 btwにパッケージ化することができます。それに依頼してクリスタックスNDKをインストールする必要があります) – Tshirtman

答えて

2

buildozer.specsでラインを、(それだけのpythonに関するログを見ていますが、あなたのことができ詳細をフィルタリングするためにいくつかの情報を追加してください)。

また、私はこの設定(コンピュータ上のpython3、アンドロイド上のpython2)でsimilarsの問題に遭遇しました。そして、はい、両方とも互換性のあるコードにする必要があります。
これはいくつかの簡単なステップを覚えておくことです(私はいくつか忘れるかもしれません):
スタティックメソッドが定義される前に "@ static-method"を追加してください
空の "__init__。Pythonのサブフォルダ

のPY」ファイル私はそれがnumpyのレシピに問題だが、それができる疑うので、あなたがbuildozer.specsで使用したいバージョンを追加したり、もう一度テストするbuildozerをきれいにすることができます。

ほしいと思っています。

+0

ありがとうございます。投稿を編集しました...前の問題は、Python2で動作するコードを書き直すことで解決しました。私は新しい問題のためにこの 'logcat'を試しました、私はどんなエラーも見ません。 – Arief

+0

Arf、再現できません、私はデフォルトのbuildozer initで試しました。kvファイルの画像ウィジェット(main.pyとmain.kvの隣のプロジェクトのルートディレクトリにある画像です。ソースは "source:"です。 png "")。コードの問題かコンピュータ/インストールの問題かどうかをテストするコードを送信できますか? (もちろん、あなたのコードをすべて私たちに送ってはいけません。あなたの問題が含まれ、デスクトップ上で作業するが、モバイル上では動作しない限り、 – MatEhickey

関連する問題