Conversation

Replying to
On Android 8+, it's based on a secret generated for each profile and made into an app-specific value based on app signing key. Apps can implement their own ANDROID_ID via app-specific external storage directory unless scoped storage is being used which clears that on uninstall.
2
Replying to
You could manually delete the app-specific directory from external (shared) storage. Apps can access their own directory in Android/ without a permission. With scoped storage, this gets cleared on uninstall, so they can't persist data without asking you to choose a place for it.
1
Show replies
Replying to and
Android 10 was originally supposed to introduce scoped storage for everything via emulation. However, there was massive backlash and they limited it to API 29 with an opt-out available. API 30 makes it mandatory with an exception for upgrading existing apps using legacy storage.