将与其他应用程序共享的Linux用户标识的名称。 默认情况下, Android会为每个应用分配自己唯一的用户ID。
假设我有一个未在AndroidManifest.xml文件中指定android:sharedUserId的应用。
是否在构建中设置了默认的sharedUserId Android(参见上述文档)(所有设备上的此应用程序都相同),或者是否在应用程序安装的每台设备上生成了不同的sharedUserId?
答案 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的应用程序可以访问彼此的数据,并且如果需要,可以在同一进程中运行。