0

将这些代码行添加到我的 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()是导致崩溃的原因

4

2 回答 2

1

实际上我检查了 adb logcat 并观察到Environment.get_running_app().getExternalStorageDirectory()引发

AttributeError:类型对象“android.os.Environment”没有属性“get_running_app”

改为使用 sdpath = Environment.getExternalStorageDirectory().getAbsolutePath()

于 2017-03-02T23:45:32.410 回答
0

你应该尝试这样的事情:

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

还将其包含在您的 buildozer 规范中

requirements = kivy, pyjnius
于 2017-03-01T18:03:50.580 回答