![](/img/trans.png)
[英]NameError at Bluetooth Kivy App on Android, based on Pyjnius
[英]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.