1
Process p1;
p1=Runtime.getRuntime().exec("rm -rf /sdcard/<any folder>");

此代码适用于 sdcard,删除所需的文件夹,但不适用于根目录

p1=Runtime.getRuntime().exec("rm -rf /data/data/<any folder>");

这段代码没有任何建议?我植根了我的手机并获得了超级用户访问权限。

4

2 回答 2

0
  1. 访问/sdcard不受限制。任何进程都可以读取或写入它。对另一端的访问/data/data/*仅限于拥有的应用程序。

  2. 有根电话并不意味着您的所有应用程序都具有根访问权限。您必须授予对您的应用程序的 root 访问权限,然后才允许它弄乱您的手机。

于 2012-10-29T09:07:14.067 回答
0

您必须在删除文件之前明确请求超级用户权限:

String command = "rm -rf /";    // your command

Process p = Runtime.getRuntime().exec( "su" );
DataOutputStream os = new DataOutputStream(p.getOutputStream());

os.writeBytes(command + "\n");
os.writeBytes("exit\n");
os.flush();

将其包装在异常处理程序中以处理各种错误(未安装 SU、错误命令、IOException、InterruptedException 等)也是一个好主意

于 2012-10-29T09:46:54.507 回答