2

Android デバイスからアプリをアンインストールして再インストールすると、ユーザー ID は変わりますか? たとえば、ユーザーが以前 app-60 だった場合、再インストール後に再び app-60 (uid 60) になりますか?

4

2 に答える 2

6

Security and Permissionsからの抜粋「インストール時に、Android は各パッケージに個別の Linux ユーザー ID を付与します。ID は、そのデバイスでのパッケージの存続期間中は一定のままです。別のデバイスでは、同じパッケージが異なる UID を持つ場合があります。重要なのは、各パッケージが特定のデバイスで個別の UID を持っていることです。」

アプリをインストールすると、Android はデフォルトで(1)、そのパッケージ専用の UID を作成するため、プライベート リソース/ストレージ スペースを使用できます。その UID を使用しているパッケージがなくなると、UID は削除されます。

だから変わると信じています。Pratik のコードを使用してチェックアウトし、連続してインストールした後に違いを判断できます。

Package Manager サービスのコードは次のとおりです深く掘り下げるための出発点になる可能性があります。

于 2013-01-22T07:30:23.187 に答える
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;

    }
}
于 2013-01-22T07:27:59.153 に答える