2017-06-12 4 views
0

私は、python3crystaxでKivy SDL2を使ってアプリケーションを構築しようとしばらくしていました。 私は最小のapiを16に、ターゲットを21に設定しました(これは今のところ最大のクリスタックスです) アプリケーションは5以下の任意のアンドロイドで正常に動作しますが、5以上でクラッシュします。 logcatで私は、フィルタ"-s AdBuddiz:D python:D"を見るために管理し、すべてのは、それがここになったときに動作を停止していることである:それはエラーなしでクラッシュする前に、これは私が見るすべてであるKivy SDL2 Python3.5 build on android 5 and above

I/python (10645): Android kivy bootstrap done. __name__ is __main__ 
I/python (10645): AND: Ran string 
I/python (10645): Run user program, change dir and execute entrypoint 
I/python (10645): main.py 
I/python (10645): [WARNING] [Config  ] Older configuration version detected (0 instead of 19) 
I/python (10645): [WARNING] [Config  ] Upgrading configuration in progress. 
I/python (10645): [INFO ] [Logger  ] Record log in /data/data/f4f.ddddd.com.f4f/files/app/.kivy/logs/kivy_17-06-12_0.txt 
I/python (10645): [INFO ] [Kivy  ] v1.10.0 
I/python (10645): [INFO ] [Python  ] v3.5.0 (default, Dec 24 2015, 05:56:40) 
I/python (10645): [GCC 5.3 20151204] 
I/python (10645): [INFO ] [Factory  ] 194 symbols loaded 
I/python (10645): [INFO ] [Image  ] Providers: img_tex, img_dds, img_sdl2, img_gif (img_pil, img_ffpyplayer ignored) 
I/python (10645): [INFO ] [Text  ] Provider: sdl2 

、それが唯一のAndroid上でクラッシュ5+のみkivyのSDL2バージョンを使用している場合。

私の質問は、なぜ正確にクラッシュするのですか?

はEDIT: はさらに、デバッグした後、私は

E/WindowState(1331): getStack: Window{33a025fb u0 f4d.ddddd.com.f4f/org.kivy.android.PythonActivity} couldn't find taskId=249 Callers=com.android.server.wm.WindowState.getDisplayContent:776 com.android.server.wm.WindowState.getWindowList:1347 com.android.server.wm.WindowState.getNeedsMenuLw:715 com.android.internal.policy.impl.PhoneWindowManager.updateSystemUiVisibilityLw:6862 

EDIT 2 logcatに表示されている次のエラーが見つかりました: より多くのデバッグと試みる他のサンプルアプリケーションの後、私のコード内で何かのように見えますより高いバージョンのアンドロイドOSでクラッシュさせる。コードを下にストリッピングを開始し、それが

EDIT 3クラッシュした場所を確認します:どうやら、何が自分のアプリケーションをクラッシュしていました を私AdBuddiz実装

from kivy.app import platform 
if platform == 'android': 
    from utils import PythonActivity, AdBuddiz 


class AdsNetwork: 
    def __init__(self): 
     if platform == "android": 
      AdBuddiz.setPublisherKey("TEST_PUBLISHER_KEY") # replace the key with your app Key 
      AdBuddiz.setTestModeActive() # test mode will be active 
      AdBuddiz.cacheAds(PythonActivity.mActivity) # now we are caching the ads 

    def show_ads(self): 
     if platform == 'android': 
AdBuddiz.showAd(PythonActivity.mActivity) #show a popup ad 
+0

[このリンク先のアプリ](https://play.google.com/store/apps/details?id=net.inclem.pyonicinterpreter3)は機能しますか? – inclement

+0

はい、それは私の実際のコードによって引き起こされると思いますか?私はそれをデバッグしたが、私はアンドロイドベロー5でそれとissusを持っていないようではないようだ – Nick

答えて

0

た問題は以下の通りです:アンドロイド怒鳴るについては

5アクティビティはorg.renpy.android.PythonActivity と呼ばれていますので、AdBuddizを初期化するとドキュメントに示されているようにアンドロイドバージョン5では動作しますが、アンドロイド5以上ではアクティビティクラス名はorg.kivy.android.PythonActivityです。古いアクティビティクラス名を使用するオートクレーク

関連する問題