如果我从Android设备上卸载应用并重新安装,用户ID是否会更改?例如,如果用户之前是app-60,那么在重新安装后它会再次成为app-60(uid 60)吗?
答案 0 :(得分:4)
摘自Security and Permissions“在安装时,Android会为每个软件包提供一个独特的Linux用户ID。在该软件包的生命周期内,该标识保持不变。在不同的设备上,同一软件包可能具有一个不同的UID;重要的是每个包在给定的设备上都有一个不同的UID。“
安装应用程序时,Android默认情况下(1)专门为该程序包创建一个UID,以便它可以拥有其私有资源/存储空间。当没有包使用该UID时,UID将被删除。
所以我相信它会改变。您可以使用Pratik的代码签出并在连续安装后确定差异。
Here 是Package Manager服务的代码。可以成为深入挖掘的起点。
答案 1 :(得分:0)
您可以在应用中获得 UID
String your app_selected = "your package name";
final PackageManager pm = getPackageManager();
//get a list of installed apps.
List<ApplicationInfo> packages = pm.getInstalledApplications(
PackageManager.GET_META_DATA);
int UID;
//loop through the list of installed packages and see if the selected
//app is in the list
for (ApplicationInfo packageInfo : packages) {
if(packageInfo.packageName.equals(app_selected)){
//get the UID for the selected app
UID = packageInfo.uid;
}
}