Search code examples
pythonkivykivymd

I am developing a kivymd app but app is crashing after taking permissions


I am developing an android app in kivymd . but when I am testing it .it's crashing in some device and running fine in other device .This is my permission code for 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)

Error's

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.

Solution

  • I finally figured it out! It was due to Android version update in 2019 . It is working on below Android 10 devices but not working on Android 10 or higher because they restricted external file storage access directly. See this answer. Solution for this problem is we can use Internal app storage for creating folder and files but when we uninstall our app we will lose all files that we stored.