Rob*_*Rob 23 permissions sdk android manifest root
我正在学习Android编程,我想创建一个必须以root身份运行的应用程序.合乎逻辑的是在Android Manifest中添加root权限.
我在文档中看到了这个链接,特别注意到了FACTORY_TEST权限:
public static final String FACTORY_TEST自:API级别1
作为制造商测试应用程序运行,以root用户身份运行.仅在设备以制造商测试模式运行时可用.常量值:"android.permission.FACTORY_TEST"
这是最好的方式吗?
如果无法使用SDK,我该如何使"root"应用程序工作?
Moh*_*nde 30
你需要做的是:
Process root = Runtime.getRuntime().exec("su");
Run Code Online (Sandbox Code Playgroud)
这会导致SuperUser显示,这允许您从root访问权限允许或阻止它.如果用户未植根,则此方法可能不起作用.这是一种可以测试它的方法.
Ani*_*kur 14
首先让我们正确掌握基础知识.Android在下面运行Linux内核.现在,如果你必须以超级用户权限运行你的进程(以root身份运行),唯一的方法就是执行你的进程,command line因为这是你可以直接与内核交互的唯一方法.您还需要su在运行任何命令之前使用.正如克里斯在他对第一个答案的评论中提到的那样
Process process = Runtime.getRuntime().exec("su");
Run Code Online (Sandbox Code Playgroud)
几乎没有任何成就.它只会使用对话框询问超级使用权限.您可以做的不是执行,su而是可以使用su执行您的流程,如下所示
Process process = Runtime.getRuntime().exec(new String[] { "su", "-c", yourCommand});
Run Code Online (Sandbox Code Playgroud)
-c选项
其中最常用的几个选项是-c,它告诉我们su to execute the command that directly follows it on the same line.这样的命令作为新用户执行,然后运行su的终端窗口或控制台在命令完成执行后或在其启动的任何程序关闭后立即返回到前用户的帐户.(更多细节)
替代选项
替代上述方法可能有用的另一种方法是使用命令行将app复制到/system/app/目录.然后您的应用程序将以root权限自动运行(与系统应用程序相同)
| 归档时间: |
|
| 查看次数: |
69052 次 |
| 最近记录: |