Android的uid使用

參考文章

背景

在Service組件開發中,對外暴露了aidl接口。爲了知道是什麼app在請求服務,即Client是誰,就想將Client的package name收集起來。

UID含義

android中uid用於標識一個應用程序,uid在應用安裝時被分配,並且在應用存在於手機上期間,都不會改變。一個應用程序只能有一個uid,多個應用可以使用sharedUserId 方式共享同一個uid,前提是這些應用的簽名要相同。
1 通過命名可以查看:

adb shell ps | grep name

uid example
2 如果手機有root權限的話,可以導出 data/system/packages.list 文件, 裏面可以看到所有應用的包名及對應的 UID
3 通過代碼拿到應用的 ApplicationInfo的實例,applicationInfo.uid
4 通過代碼int uid = Binder.getCallingUid();拿到

通過uid獲取package name

String packageName = getPackageManager().getNameForUid(uid);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章