2017-06-12 97 views
0

我一直在嘗試使用Kivy SDL2與python3crystax構建應用程序,一切都按預期工作。 我做了最低api爲16和目標是21(因爲這是目前最crystalax目前) 該應用程序適用於5以下的任何android,但5或以上崩潰。在logcat的所有我設法看到過濾"-s AdBuddiz:D python:D"是它停止時,它會在這裏工作:Kivy SDL2 Python3.5構建崩潰在Android 5及以上版本

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版本時。

我的問題是,爲什麼它崩潰?

編輯: 進一步調試後,我發現了以下錯誤顯示在logcat的

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 

編輯2: 更多的調試和嘗試其他例如應用程序後,這似乎是我的代碼中的東西是使其在更高版本的android操作系統上崩潰。將開始剝離下來的代碼,看看它崩潰

編輯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

的問題如下:

爲Android波紋管5該活動被稱爲org.renpy.android.PythonActivity 所以當我們初始化AdBuddiz像文檔告訴我們,它將適用於Android版本5以下,但對於Android 5及以上,活動類名稱是org.kivy.android.PythonActivity,如果我們嘗試autoclass使用舊的活動類名稱

相關問題