我正在开发一个 kivymd 应用程序,但应用程序在获得权限后崩溃
I am developing a kivymd app but app is crashing after taking permissions
我正在 kivymd 中开发 android 应用程序。但是当我测试它时。它在某些设备上崩溃,而在其他设备上 运行 正常。这是我对 read/write
的许可代码
if platform == 'android':
from android.permissions import Permission , request_permissions
def callback(permissions,results):
if all([res for res in results]):
print("Got all Permissions")
else:
print("did not get all permissions!")
request_permissions([Permission.WRITE_EXTERNAL_STORAGE,Permission.READ_EXTERNAL_STORAGE] , callback)
错误
2021-04-29 20:22:51.731 6604-6604/? W/SDLThread: type=1400 audit(0.0:23390110): avc: granted { execute } for path="/data/data/org.kpkundali.kpkundali.astrologyapp/files/app/_python_bundle/modules/mmap.cpython-37m.so" dev="dm-1" ino=140498 scontext=u:r:untrusted_app:s0:c204,c257,c512,c768 tcontext=u:object_r:app_data_file:s0:c204,c257,c512,c768 tclass=file
2021-04-29 20:22:51.951 6604-6636/? I/python: Traceback (most recent call last):
2021-04-29 20:22:51.951 6604-6636/? I/python: File "/home/manish/kpkundali/.buildozer/android/app/main.py", line 1593, in <module>
2021-04-29 20:22:51.952 6604-6636/? I/python: File "/home/manish/kpkundali/.buildozer/android/platform/build-arm64-v8a/build/python-installs/kpkundali.astrologyapp/kivy/app.py", line 829, in run
2021-04-29 20:22:51.952 6604-6636/? I/python: File "/home/manish/kpkundali/.buildozer/android/app/main.py", line 1571, in build
2021-04-29 20:22:51.953 6604-6636/? I/python: File "/home/manish/kpkundali/.buildozer/android/app/main.py", line 895, in __init__
2021-04-29 20:22:51.953 6604-6636/? I/python: PermissionError: [Errno 13] Permission denied: '/storage/emulated/0/kundali'
2021-04-29 20:22:51.953 6604-6636/? I/python: Python for android ended.
我终于明白了!这是由于 2019 年 Android 版本更新。它适用于 Android 10 台以下设备,但不适用于 Android 10 台或更高设备,因为它们直接限制了外部文件存储访问。请参阅 答案。
这个问题的解决方案是我们可以使用内部应用程序存储来创建文件夹和文件,但是当我们卸载我们的应用程序时,我们将丢失我们存储的所有文件。
我正在 kivymd 中开发 android 应用程序。但是当我测试它时。它在某些设备上崩溃,而在其他设备上 运行 正常。这是我对 read/write
的许可代码 if platform == 'android':
from android.permissions import Permission , request_permissions
def callback(permissions,results):
if all([res for res in results]):
print("Got all Permissions")
else:
print("did not get all permissions!")
request_permissions([Permission.WRITE_EXTERNAL_STORAGE,Permission.READ_EXTERNAL_STORAGE] , callback)
错误
2021-04-29 20:22:51.731 6604-6604/? W/SDLThread: type=1400 audit(0.0:23390110): avc: granted { execute } for path="/data/data/org.kpkundali.kpkundali.astrologyapp/files/app/_python_bundle/modules/mmap.cpython-37m.so" dev="dm-1" ino=140498 scontext=u:r:untrusted_app:s0:c204,c257,c512,c768 tcontext=u:object_r:app_data_file:s0:c204,c257,c512,c768 tclass=file
2021-04-29 20:22:51.951 6604-6636/? I/python: Traceback (most recent call last):
2021-04-29 20:22:51.951 6604-6636/? I/python: File "/home/manish/kpkundali/.buildozer/android/app/main.py", line 1593, in <module>
2021-04-29 20:22:51.952 6604-6636/? I/python: File "/home/manish/kpkundali/.buildozer/android/platform/build-arm64-v8a/build/python-installs/kpkundali.astrologyapp/kivy/app.py", line 829, in run
2021-04-29 20:22:51.952 6604-6636/? I/python: File "/home/manish/kpkundali/.buildozer/android/app/main.py", line 1571, in build
2021-04-29 20:22:51.953 6604-6636/? I/python: File "/home/manish/kpkundali/.buildozer/android/app/main.py", line 895, in __init__
2021-04-29 20:22:51.953 6604-6636/? I/python: PermissionError: [Errno 13] Permission denied: '/storage/emulated/0/kundali'
2021-04-29 20:22:51.953 6604-6636/? I/python: Python for android ended.
我终于明白了!这是由于 2019 年 Android 版本更新。它适用于 Android 10 台以下设备,但不适用于 Android 10 台或更高设备,因为它们直接限制了外部文件存储访问。请参阅