什么是默认的android:sharedUserId设置如果没有设置android:sharedUserId

时间:2017-04-28 20:49:31

标签: android android-manifest

来自documentation

  

将与其他应用程序共享的Linux用户标识的名称。 默认情况下, Android会为每个应用分配自己唯一的用户ID。

假设我有一个未在AndroidManifest.xml文件中指定android:sharedUserId的应用。

是否在构建中设置了默认的sharedUserId Android(参见上述文档)(所有设备上的此应用程序都相同),或者是否在应用程序安装的每台设备上生成了不同的sharedUserId?

1 个答案:

答案 0 :(得分:0)

Android为您在设备上安装的每个应用程序生成随机的唯一ID。

您可以通过以下方式获取此值:

adb shell dumpsys package com.example.myapp | grep userId=

或在代码中加上:

int uId = getPackageManager().getApplicationInfo("com.example.myapp",PackageManager.GET_META_DATA).uid;

但是,如果您为两个或多个应用设置android:sharedUserId相同的值,则它们的共享ID都是相同的-只要它们的证书集相同。

具有相同用户ID的应用程序可以访问彼此的数据,并且如果需要,可以在同一进程中运行。