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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章