繁体   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