gpt4 book ai didi

android - 以 Shell 用户身份运行 Android 应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:21:53 25 4
gpt4 key购买 nike

在我的应用程序中,我需要启动一个 native 二进制文件来打开和读取一些 /sys/kernel 文件。如果我通过使用 adb shell 连接启动 native 二进制文件(从 /data/local/tmp 手动启动),那么一切正常。

我希望应用程序以编程方式做两件事,

  1. 将二进制文件复制到 /data/local/tmp/。同样,这将无法正常工作,因为普通的 Android 应用程序没有足够的权限。

  2. 以 shell 用户身份启动二进制文件,这样我就可以获得必要的权限。我试过使用 android:sharedUserId="android.uid.shell ,但这似乎不起作用。

请注意,我不需要 root 来打开 /sys 文件。
我只需要成为 shell 用户即可。
任何想法将不胜感激。

谢谢

最佳答案

shell UID 保留用于开发和测试。使用 shell 权限运行应用程序是在规避 Google 的安全模型。因此,如果没有 root,您将无法在安全的商业设备上执行此操作。

可能的临时(重启之间非持久性)解决方法是:

  1. 使用adb shell启动后台服务进程,以shell UID运行

  2. 在您的应用程序中,使用 IPC 请求服务为您执行特殊任务

关于android - 以 Shell 用户身份运行 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20242865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com