# App group
The Shared User ID mechanism of the Android system allows multiple apps to share the same Linux user ID and Android permissions, access files each other, and even run in the same process. These apps need to have the same signature and Shared User ID cannot be changed after installation. To simplify the understanding, we call the Shared User ID mechanism as App group in Storage Isolation.
- Some apps without storage permissions can use storage space
- Multiple apps can run in the same process
Isolation works at the process level. In versions prior to v4.0.0, only the package name was used, which obviously caused problems.
Media Store, Download Manager, Download Manager UI, and MTP host have the same Shared User ID
android.media. Media Store and Download Manager have the same process
android:process="android.process.media". So the Media Store and Download Manager run in the same process.
In MIUI (and maybe other heavily modified systems), Download Manager abuses storage, so users will choose to enable isolation for it and only allow it to access
Download folder. However, because Media Store runs the same process, Media Store can only access
Download. This will cause the users' album not updating.
In addition, the Shared User ID mechanism makes app possible to use storage without storage permissions. Also for MIUI (and maybe other heavily modified systems), users will not have the opportunity to enable isolation for such apps, as they will not be shown in older versions.
So after v4.0.0, letting apps with the same Shared User ID use the same settings can solve this problem.
Suppose there are two apps
com.example2, and their Shared User ID is
- They use the same settings (internally they are considered as one app)
- The isolation storage location is located in
- They can access app-specific folders each other