UID用于标识Android系统中的每个应用程序,uid在应用安装时被分配,并且在应用存在于手机上期间,都不会改变。一个应用程序只能有一个uid,多个应用可以使用sharedUserId 方式共享同一个uid,前提是这些应用的签名要相同。
PID即进程ID,因为Android内核也是Linux的,所以跟Linux程序一样,运行时分配,代表一个运行的APP进程。
GID对应于linux中用户组的概念,android 中 GID 等于UID。
查看UID方式
1. 先查出APP对应的PID(以"com.android.setting"为例子说明)。
$ adb shell
$ ps -A | grep "com.android.setting"
u10_system 12700 748 5319112 104536 do_epoll_wait 0 S com.android.settings:SettingsExProvider
u10_system 14292 748 5996892 207196 do_epoll_wait 0 S com.android.settings
从上面可以看到PID为14292。
2. 根据PID获取UID:
$ cat /proc/14292/status | grep Uid
Uid: 1001000 1001000 1001000 1001000
可以看到UID为1001000。