簡體   English   中英

帶有Buildozer的Kivy pyjnius-將jnius添加到應用程序會導致啟動后崩潰

[英]Kivy pyjnius with Buildozer - Adding jnius to the app causes it to crash after starting it

將這些代碼行添加到我的kivy應用之后,當我在android 4.4.4上啟動它時,該應用立即崩潰

from jnius import autoclass
try:
    Environment = autoclass('android.os.Environment')
    sdpath = Environment.get_running_app().getExternalStorageDirectory()

# Not on Android
except:
    sdpath = App.get_running_app().user_data_dir

我檢查了亞行,看是否有任何錯誤,但除了什么都沒有

03-01 17:44:19.813: E/InputDispatcher(898): channel '437f0100 org.renpy.android.PythonActivity (s)' ~ Channel is unrecoverably broken and will be disposed!

編輯

似乎sdpath = Environment.get_running_app().getExternalStorageDirectory()是導致崩潰的sdpath = Environment.get_running_app().getExternalStorageDirectory()

實際上,我檢查了adb logcat並觀察到Environment.get_running_app().getExternalStorageDirectory()引發了

AttributeError:類型對象“ android.os.Environment”沒有屬性“ get_running_app”

請改用sdpath = Environment.getExternalStorageDirectory().getAbsolutePath()

您應該嘗試這樣的事情:

from kivy.app import platform
...
if platform() == 'android':
    DATA_FOLDER = os.getenv('EXTERNAL_STORAGE')

還要在您的buildozer規范中包括以下內容:

requirements = kivy, pyjnius

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM