2010-09-06 96 views
6

即时通讯尝试找到在Android设备上拥有超级用户访问权限的方法。基本上我希望我的应用程序能够删除系统文件,并且在应用程序像大多数其他应用程序一样启动后询问用户是否可以使用,然后我正在使用哪些代码来执行这些操作?无法找到谷歌上很多Android使用超级用户权限?允许访问

在此先感谢!

回答

10

如果该设备是植根,你可以使用下面的代码以获得对root的shell访问:

try 
    { 
     Process process = Runtime.getRuntime().exec("su"); 
     DataOutputStream outputStream = new DataOutputStream(process.getOutputStream()); 
     DataInputStream inputStream = new DataInputStream(process.getInputStream()); 

     outputStream.writeBytes(command + "\n"); 
     outputStream.flush(); 

     outputStream.writeBytes("exit\n"); 
     outputStream.flush(); 
     process.waitFor(); 
    } 
    catch (IOException e) 
    { 
     throw new Exception(e); 
    } 
    catch (InterruptedException e) 
    { 
     throw new Exception(e); 
    } 

其中“命令”是要执行的命令。

+0

你在哪里找到这个资源我的朋友?有没有任何文件?即时猜测我只是使用命令变量每次我想运行需要此访问的命令? – 2010-09-06 18:45:33

+0

很高兴为您服务!我不记得我在哪里找到该代码,但我知道这需要大量Google搜索。该示例是从我目前正在开发的应用程序中提取的。要运行多个命令,只需执行“outputStream.writeBytes(”command \ n“);”和“outputStream.flush();”为每个命令。您也可以创建一个循环的命令列表。 – 2010-09-06 19:32:13

1

如果我正确地做到了,您希望授予您的应用程序root权限。这是安装在设备上的标准Android图像无法实现的。 su命令不支持更改为root。

但是,您可以在您的设备上加载自定义的rooted ROM,但恐怕没有解决方案。

+1

我使用的降落之前要求超级用户权限的很多很多的应用程序不知道你关于 – 2010-09-06 18:44:29

+0

当然,你可以要求超级用户权限,但在一个默认的不带根目录的设备上默认没有触摸ROM,这是行不通的。那就是我想说的。 – 2010-09-06 19:08:22

1

Here你可以找到关于如何获得root权限的明确说明