admin管理员组

文章数量:1542784

首先,让我们正确掌握基础知识。Android在下面运行Linux内核。现在,如果您必须以超级用户特权(以root用户身份运行)在其上运行进程,则唯一的方法就是通过via,command line因为它是您可以直接与内核进行交互的唯一方法。另外,您需要su在运行任何命令之前使用。就像克里斯在第一个答案的评论中提到的那样

Process process = Runtime.getRuntime().exec("su");

几乎什么都做不了。它只会通过对话框要求超级使用权限。您可以做的是不仅仅是执行,su还可以使用su执行您的过程,如下所示

Process process = Runtime.getRuntime().exec(new String[] { "su", "-c", yourCommand});

-c选项

su的少数几个选项中最常用的是-c,它告诉su to execute the command that directly follows it on the same line。这样的命令被作为新的用户执行,然后该命令已完成执行或之后从中苏被立即运行终端窗口或控制台返回给该帐户的前用户的,它已推出已被关闭的任何程序后(更详情)

替代选择

另一种可行的替代上述方法的方法是使用命令行将您的应用程序复制到/system/app/目录中。然后您的应用程序将以root权限自动运行(与系统应用程序相同)

本文标签: 权限SDKandroidroot