有三種方案:
1. adb shell dumpsys package <packagename> | grep userId=
先通過 "adb shell dumpsys package <packagename>" 命令得到應用詳細資訊,然後利用 "grep userId=" 定位到 Uid。
如:
~ adb shell dumpsys package com.predict.horoscope.daily.zodiac.sign | grep userId=
userId=10096 gids=[3003, 1028, 1015]
2. adb shell cat /proc/<pid>/status | grep Uid
這個命令中的關鍵是 pid,可通過以下命令獲取。
adb shell ps | grep <packagename>
如:
~ adb shell ps | grep com.predict.horoscope.daily.zodiac.sign
u0_a96 1061 199 1614212 95232 ffffffff 00000000 S com.predict.horoscope.daily.zodiac.sign
第二列的值 1061 就是 pid。代入到獲取 Uid 的命令中的結果如下:
~ adb shell cat /proc/1061/status | grep Uid
Uid: 10096 10096 10096 10096
3. adb shell cat /data/system/packages.xml | grep <packagename>
依次執行以下命令:
adb root
adb remount
adb shell cat /data/system/packages.xml | grep <packagename>
這條命令的執行需要 root 許可權,使用受限,建議用第一、二種方法。