應(yīng)用程序在安裝時被分配用戶 UID, 作為這個應(yīng)用在Android系統(tǒng)中的唯一標識.
對于普通的應(yīng)用程序,GID即等于UID.
獲取辦法有2種.
- 通過命令行獲取.
1|shell@miki8735_tb_m:/ $ ps | grep hola
u0_a120 26187 360 1757260 97896 SyS_epoll_ 0000000000 S com.hola.weather
shell@miki8735_tb_m:/ $ cat /proc/26187/status
Name: om.hola.weather
State: S (sleeping)
Tgid: 26187
Pid: 26187
PPid: 360
TracerPid: 0
Uid: 10120 10120 10120 10120
Gid: 10120 10120 10120 10120
- 通過代碼獲取.
public static String getUid(Context context) {
String uid = "";
try {
PackageManager pm = context.getPackageManager();
ApplicationInfo ai = pm.getApplicationInfo("com.hola.weather", PackageManager.GET_META_DATA);
uid = String.valueOf(ai.uid);
JLog.i("ai.uid: " + ai.uid);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return uid;
}
打印結(jié)果:
I/ahking: [ (DeviceInfoUtils.java:162)#GetUid ] ai.uid: 10120
可以看到, 通過這兩種方式獲取到的uid的值是相同的.