File handling on Android 11
For your second quesion, you should be careful on how to perform your app upgrade:
1. If the app is upgraded "in-place", all existing app data are preserved after upgrade to the newer version.
2. If the app is first uninstalled followed by a newer version installed, app data in the older version are totally removed during the uninstallation and the newer version app just start anew.
That is unfortunate.
We have a requirement to be able to rollback versions of our app for specific work situations.
We have had problems downgrading installations of our app using MobiControl. After help from support, the problem was solved by adding an uninstall command to the preinstall script.
The app installation mechanism Android is dictated by Google and the OEM device firmware, not by any MDM vendors like Soti or my end customers like you or me. Some device firmware allow in-place upgrade or downgrade of app without corrupting existing app data after the operation. If the device firmware support it, Soti MobiControl can do it.
Over the years, I have encountered many device models 'firmware that do not allow app downgrade (i.e. when clicking to installing an apk which has a lower version number than an installed app of the same bundle-ID). The only option is to uninstall the app (and hence remove all app data), and then install the lower version of the same app. One solution in such case is to test apps thoroughly before deploying to mission critical devices, so that the chance for subsequent downgrade is minimized.
You used to be able to get around this by developing your app to utilize external config and/or DB files saved to shared storage like the sdcard as those wouldnt be wiped out by an app uninstall like app cache is. Now with Android 11 we're forced towards scoped storage for even those files which I do believe also gets wiped during an uninstall. To RC's point, this is a function of Android and not a SOTI specific problem. We're lucky enough that SOTI offers the uninstall script in order to facilitate downgrades.
To keep data between installations, we have been using external storage which is why I asked if there were any way around the problem with Android 11 deleting the files.
Regarding uninstalling or not, it is of no consequence to me who creates the restrictions. I am just looking for a way to keep the files for two reasons.
1. Some of the files contain personalization and personal data of the users.
2. Some of the files contain business data, which may not be in sync with the backend. We must collect said data to manually process it.
The problem does not go away by 'testing some more'. Frankly I find this comment insulting.
We are operating in several countries with technicians moving between countries which requires different versions due to legislation and corporate strategies.
Your desires to be able to preserve app configurations and have the ability to freely downgrade apps are in direct conflict with one another based on the architecture of Android. I 100% understand why you would want to be able to downgrade and preserve app configuration I am simply relaying the fact that what you're looking to accomplish is not possible with the way Android is currently designed and that is a function of Android and not an issue with SOTI. SOTI is somewhat unique in that it even provides an uninstall script mechanism in order to allow for app downgrades as many EMMs, especially those that only support app installation through Managed Play, only support app upgrades.
Your complaints may be better voiced on the Android Enterprise forum as your issue is fundamental to Android management and not specific to SOTI.