Hi!
I've sideloaded a few apps on my TV6 but for example Mihon doesn't work since DocumentsUI is not installed on the default ROM of the TV6.
I tried installing different versions of the apk I found on apkmirror, I tried the Google variant, the LOS variant and even the Xiaomi Files app, but they all crash instantly because of permission issues. My guess is that it's not a system app and therefore not working, here is the logcat output:
Code:
10-18 22:28:21.833 2784 2802 E AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
10-18 22:28:21.833 2784 2802 E AndroidRuntime: Process: com.android.documentsui, PID: 2784
10-18 22:28:21.833 2784 2802 E AndroidRuntime: java.lang.RuntimeException: An error occurred while executing doInBackground()
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at android.os.AsyncTask$3.done(AsyncTask.java:354)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:271)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at java.lang.Thread.run(Thread.java:764)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.downloads.DownloadStorageProvider from ProcessRecord{ee20887 2784:com.android.documentsui/u0a40} (pid=2784, uid=10040) requires that you obtain access using ACTION_OPEN_DOCUMENT or related APIs
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:2005)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1951)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at android.content.IContentService$Stub$Proxy.registerContentObserver(IContentService.java:768)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at android.content.ContentResolver.registerContentObserver(ContentResolver.java:1924)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at android.content.ContentResolver.registerContentObserver(ContentResolver.java:1913)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at com.android.documentsui.roots.ProvidersCache.loadRootsForAuthority(ProvidersCache.java:256)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at com.android.documentsui.roots.ProvidersCache$UpdateTask.handleDocumentsProvider(ProvidersCache.java:477)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at com.android.documentsui.roots.ProvidersCache$UpdateTask.doInBackground(ProvidersCache.java:446)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at com.android.documentsui.roots.ProvidersCache$UpdateTask.doInBackground(ProvidersCache.java:434)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at android.os.AsyncTask$2.call(AsyncTask.java:333)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
10-18 22:28:21.833 2784 2802 E AndroidRuntime: ... 3 more
I wonder if it is possible to get this working somehow, I can at least say that pm grant won't work.
My best guess is that I need to root my device in order to install it as system app to get this working? Would there be any other way?
Also a little offtopic question: Is there any chance that Tolino/Kobo will also bring the 5.x firmware from the newer Shine variants to the Android models? While Android brings the benefit of sideloading custom apps easily, I find that KOReader is way more integrated on my Kobo Aura and from a user experience point it is quite crappy on my Tolino since it won't let me toggle the backlight and the Wifi doesn't manage itself. And FBReader, Moon+ and Librera were really sluggish on the TV6 compared to KOReader.
Edit: Tried moving the DocumensUI app from LOS to /system/app to make it a system app with TWRP, but now it still crashes with this error:
Code:
10-19 13:02:38.280 2759 2774 E AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
10-19 13:02:38.280 2759 2774 E AndroidRuntime: Process: com.android.documentsui, PID: 2759
10-19 13:02:38.280 2759 2774 E AndroidRuntime: java.lang.RuntimeException: An error occurred while executing doInBackground()
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at android.os.AsyncTask$3.done(AsyncTask.java:354)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:271)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at java.lang.Thread.run(Thread.java:764)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: Caused by: java.lang.SecurityException: ContentService: Neither user 10040 nor current process has android.permission.CACHE_CONTENT.
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:2005)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1951)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at android.content.IContentService$Stub$Proxy.getCache(IContentService.java:1695)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at android.content.ContentResolver.getCache(ContentResolver.java:2825)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at com.android.documentsui.roots.ProvidersCache.loadRootsForAuthority(ProvidersCache.java:264)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at com.android.documentsui.roots.ProvidersCache$UpdateTask.handleDocumentsProvider(ProvidersCache.java:477)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at com.android.documentsui.roots.ProvidersCache$UpdateTask.doInBackground(ProvidersCache.java:446)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at com.android.documentsui.roots.ProvidersCache$UpdateTask.doInBackground(ProvidersCache.java:434)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at android.os.AsyncTask$2.call(AsyncTask.java:333)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
10-19 13:02:38.280 2759 2774 E AndroidRuntime: ... 3 more
Not sure how I could fix this one though...