2016-09-10 19 views
0

私はPython + Kivyで簡単なアプリを書こうと思っています。そして - 開発のために、私は、Androidのエミュレータ悲しいこと KivyプロジェクトをコンパイルしてAndroidエミュレータで実行する

  • 実行それをパッケージにアプリをコンパイルした瞬間に、私はかなりのループを閉じることができません
    • にできるようにしたいと思いますグーグルが助けにならなかった。

      私はKivy、buildozer、Android SDKのすべての関連ツールをダウンロードしたと思います。私はKivyの「hello world」アプリを入力し、Androidのエミュレーションなしで正常に動作します。残念ながら、エミュレータ(x86アーキテクチャー)で実行すると、エラーINSTALL_FAILED_NO_MATCHING_ABISが表示されます。 ARMアーキテクチャのエミュレータデバイス(実行速度がかなり遅い)を作成すると、少なくともエミュレートされたデバイスにアプリケーションをインストールできますが、ロードされるとクラッシュします。エラーメッセージは有益ではありません。

      どういうわけか、Androidエミュレータウィザードの推奨デフォルトエミュレータであるネイティブx86アーキテクチャ(?)用のパッケージを作成する必要があります。そうですか?もしそうなら、buildozerツールでどうすればいいですか?それとも、ARMアーキテクチャ上で動作させることができますか?おそらく、私はアプリをインストールすることが示唆コマンドbuildozer -v android debug

    • でパッケージを構築していOSX
    • 上で実行しています

      • 、私はエミュレータウィンドウにドラッグします(そこ:

        いくつかの細かいディテール

      • エミュレータはAndroid SDKに付属しているもので、デフォルトの「Nexus 5X」の電話をエミュレートしています
      • Android SDKのバージョンは23
      • 012です
  • 答えて

    0

    実際のデバイスにアプリケーションをインストールし、デバイスをデバッグモードでPCに接続し、adb logcatを使用して、エラーの原因を知るためにデバイスのログを取得することをお勧めします。この方法で、コードまたはエミュレータ環境から問題が発生した場合は、確実に確認できます。

    +0

    私の主張は実際に私の電話でコードを実行することを避けることです - それは高価なテストベッドです...いずれにしても、コードはちょうどKivy 'Hello World'の例からコピーされています私はそれがうまくいくと思います。 – magiiique

    +0

    @magiiiqueこれをチェックしてくださいhttp:// stackoverflow。com/questions/24572052/install-failed-no-matching-abis-when-install-apk – Juggernaut

    +0

    Etasamian - はい、それは私の問題です。しかし、 'buildozer 'でビルドするときの解決方法については説明していません。私は低レベルの設定ファイルの可視性がありません。またはもし私がしたら - どうすればいいのですか? – magiiique

    0

    あなたの設定はうまくいきます。ただちに問題はアーキテクチャ全体です(ただし、ARMエミュレータのクラッシュによって、あなたのアプリケーションにはバグがあり、logcatログを調べてデバッグできます)。

    python-for-androidはx86をサポートしており、この方法でエミュレータで動作します。 --arch=x86でこれを使用できます。しかし、buildozerは現在このオプションを公開していません(armeabi-v7aをハードコードしています)。これは修正するのは難しいことではありませんが、buildozerのgithubリポジトリに問題をオープンしても構いません。

    使用可能なデバイスがある場合、そのデバッグは実際にエミュレータを使用した場合とまったく同じ(または遅い/速い)ではありません。 Buildozer/python-for-androidはapkをプッシュして自動的に実行することができ、logcat出力の表示はどちらの場合でも同じように動作します。

    関連する問題