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

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

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

我希望应用程序以编程方式执行两项操作,

>将二进制文件复制到/ data / local / tmp /.再次这不会工作,因为普通的Android应用程序没有足够的权限.
>以shell用户身份启动二进制文件,以便获得必要的权限.我曾尝试使用android:sharedUserId =“android.uid.shell,但这似乎不起作用.

请注意,我不需要root来打开/ sys文件.我需要的是shell用户.任何想法将不胜感激.

谢谢

shell UID保留用于开发和测试.运行具有shell权限的应用程序会绕过Google的安全模型.因此,如果不对其进行生根,您将无法在安全的商业设备上执行此操作.

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

>使用adb shell启动后台服务进程,以shell UID身份运行>在您的应用程序中,使用IPC要求服务为您执行特殊任务

原文地址:https://www.jb51.cc/bash/387243.html

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

相关推荐