获取Android应用程序的Linux UID
我希望能够获取已安装的 Android 应用程序的 Linux UID(用户 ID)。
摘自安全和权限:“在安装时,Android 为每个包提供一个不同的 Linux 用户 ID . 身份在该设备上的包的生命周期内保持不变。”
有没有办法找回这个UID?
I would like to be able to get the Linux UID (user ID) of an installed Android application.
Excerpt from Security and Permissions: "At install time, Android gives each package a distinct Linux user ID. The identity remains constant for the duration of the package's life on that device."
Is there a way to retrieve this UID?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
adb shell dumpsys 包 com.example.myapp | grep userId=
adb shell dumpsys package com.example.myapp | grep userId=
使用
PackageManager
和getApplicationInfo()
。Use
PackageManager
andgetApplicationInfo()
./data/system
中存在 packages.xml
文件packages.list
文件>包含已安装的应用程序列表及其相应的 UID。
packages.xml
file present in/data/system
packages.list
file present in/data/system
Contain the list of applications installed and their corresponding UID's.
使用
android.os.Process.myUid()
直接获取调用应用程序的UID。使用 PackageManager 不需要查找自己的 UID。
Use
android.os.Process.myUid()
to get the calling apps UID directly.Using the PackageManager is not necessary to find the own UID.
正如 CommonsWare 已经写过的,您可以使用 PackageManager 来获取 UID。
这是一个例子:
As CommonsWare already wrote, you can use
PackageManager
to get the UID.Here's an example:
在命令行/shell 脚本中的一个简单方法是
An easy way on the commandline / in shell scripts is