微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取Android应用的Linux UID

如何解决获取Android应用的Linux UID

| 我希望能够获取已安装的Android应用程序的Linux UID(用户ID)。 摘自“安全性和权限”:\“在安装时,Android为每个程序包提供了一个独特的Linux用户ID。在程序包在该设备上的整个生命周期内,身份始终保持不变。” 有没有办法检索此UID?     

解决方法

使用
PackageManager
getApplicationInfo()
。     ,
adb shell dumpsys package com.example.myapp | grep userId=
    ,
/data/system
中存在的
packages.xml
文件
/data/system
中存在的
packages.list
文件 包含已安装的应用程序及其对应的UID的列表。     ,
PackageManager packageManager = getPackageManager();
try {
    applicationId = String.valueOf(packageManager.getApplicationInfo(\"com.example.app\",PackageManager.GET_META_DATA));
} catch (PackageManager.NameNotFoundException e) {
    e.printStackTrace();
}
    ,正如CommonsWare所写,您可以使用
PackageManager
来获取UID。 这是一个例子:
int uid;
try {
    ApplicationInfo info = context.getPackageManager().getApplicationInfo(
            context.getPackageName(),0);
    uid = info.uid;
} catch (PackageManager.NameNotFoundException e) {
    uid = -1;
}
Log.i(LOG_TAG,\"UID = \" + uid);
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。