Your app currently targets API level 28 and must target at least API level29 to ensure that it is built on the latest APIs optimised for security and performance.
From August 2020, new apps must target at least Android 10 (API level 29).
From November 2020, app updates must target Android 10 (API level 29).
Where do you stand with Android 11/API lvl 30? Do you already target it? If so, could you please point me at the relevant commits so I can try to educate myself on how it’s supposed to work (one might notice from my last point that I do not (yet) get how android api lvl backwards compatibilty works).
Thanks for the pointer. I think I am beginning to understand how it works. And googles wording in the docs is just terrible:
[…] After you update your app to target Android 11, the system ignores the requestLegacyExternalStorage flag.
Maintain compatibility with Android 10
If your app opts out of scoped storage when running on Android 10 devices, it’s recommended that you continue to set requestLegacyExternalStorage to true in your app’s manifest file. That way, your app can continue to behave as expected on devices that run Android 10.
The former sounds like no matter what you do, as soon as you target lvl 30, requestLegacyExternalStorage becomes ignored (on all android versions). What you say and the second paragraph implies, is that this is incorrect and the system only ignores this flag if you both target 30 and the device is on Android 11, it still applies on <=29 (which is good ).
I have been an avid user of Syncthing/Syncthing-fork for a bit now. Though ever since my Samsung phone started pestering me about updating to Android 11 I have been reading up on potential issues, particularly those related a few of my favorite apps. I kept delaying the update and always made sure to deselect the Auto Install check box.
Well, I wasnt looking at my phone this last time when it rebooted and although I have repeatedly told it NOT to auto install the update, the genius developers of Samsung’s updater app apparently have made the default behavior to auto apply updates if you don’t catch the Install System update prompt message (irrespective of whether you have previously indicated your desire NOT to auto install when setting a delayed install time)…
Now I’m stuck with Android 11 and Syncthing(-fork) will not run as I am unable to enable ‘Allow access to all files’. However, if I go to Permission Manager → Storage I see that at the top there is a section titled ‘Allowed to Manage All Files’. There are apps such as Firefox, AnkiDroid, and Ring that are in this first section that have full access. So why is Syncthing forced into the “Allowed Access to Media Only” section (farther down the Storage permissions page)? Even an old legacy app - Virtual Recorder Donate - that has not had updates since 2018 has All files access enabled.
So now that I’ve updated to android 11 attempting to run Syncthing for first time after first reboot directs me to grant access but on that permission screen the enable button for “Allow access to all files” is disabled and unselectable. So I am prevented from moving forward and forced to close the Syncthing initialization screen…