如何在Android中请求root访问权限?

Mic*_*Bak 29 android root

我需要获得root设备的root访问权限,我想知道如何请求root访问权限.我需要访问文件系统.非常感谢.

dac*_*cwe 26

只需执行命令,su并在其中Process具有root权限:

Process p = Runtime.getRuntime().exec("su");
Run Code Online (Sandbox Code Playgroud)

有关完整示例,请参阅此博客文章.

  • -1**这个答案极具误导性**.发布的代码将完成**绝对没有**因为只有`su`启动的进程实际上将以root身份运行 - **Android应用程序本身不会切换到以root身份运行**.这里给出的代码只启动一个root shell,由于没有给予任何工作,它立即退出. (35认同)
  • @ChrisStratton:我明确指出"在这个过程中你将拥有root权限".这有什么误导? (15认同)
  • 在什么过程中?没有做任何事情就死的人?有人应该从这个答案中意识到这一点?相反,他们认为这意味着"呼唤"过程.人们在其他地方错误地引用了这个答案. (5认同)
  • @keith layne:当你运行`su`时,`superuser`应用程序启动,可以授予请求. (4认同)

liu*_*yix 6

警告

从5.0开始,这种方法不再有效

大多数root设备都使用Superuser或SuperSU,如果您想在应用中使用root功能,则应在应用清单中声明超级用户权限.

<uses-permission android:name="android.permission.ACCESS_SUPERUSER" />
Run Code Online (Sandbox Code Playgroud)

更详细的信息,您应该通过Chainfire(SuperSU的作者)查看HOW-To SU并查看示例源libsuperuser(https://github.com/Chainfire/libsuperuser)

  • ""由于Android 5.0 Lollipop的变化,此权限已被弃用,并且从SuperSU v2.30开始完全被忽略"` - [How-To SU](http://su.chainfire.eu/) (9认同)