卸载并重新安装后Android应用程序用户ID是否会更改?

时间:2013-01-22 07:23:33

标签: android uid

如果我从Android设备上卸载应用并重新安装,用户ID是否会更改?例如,如果用户之前是app-60,那么在重新安装后它会再次成为app-60(uid 60)吗?

2 个答案:

答案 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;

    }
}