Android Manifest sharedUserId
attribute is now deprecated:
This constant was deprecated in API level 29. Shared user IDs cause non-deterministic behavior within the package manager. As such, its use is strongly discouraged and may be removed in a future version of Android. Instead, apps should use proper communication mechanisms, such as services and content providers, to facilitate interoperability between shared components.
I have "Free" and "Pro" app versions sharing user ID, because I wanted to easily copy data from Free to Pro if users decided to upgrade. Also having sharedUserId
prevents me from making my app an "Instant app" - when trying to test locally I'm getting this error:
Failure [-116: Instant app package may not declare a sharedUserId]
So I'm thinking about migrating from sharedUserId, but I don't see how, even if I put the data copy situation aside for now. If I clear sharedUserId for the next version of my app, then updated app version is not going to be able to read the data from the previous version, as indicated in this Stackoverflow question
This looks like a dead end. I basically need to be able to still access SQLite database, but I think it is also tied to sharedUserId.