Process p1;
p1=Runtime.getRuntime().exec("rm -rf /sdcard/<any folder>");
此代码适用于 sdcard,删除所需的文件夹,但不适用于根目录
p1=Runtime.getRuntime().exec("rm -rf /data/data/<any folder>");
这段代码没有任何建议?我植根了我的手机并获得了超级用户访问权限。
Process p1;
p1=Runtime.getRuntime().exec("rm -rf /sdcard/<any folder>");
此代码适用于 sdcard,删除所需的文件夹,但不适用于根目录
p1=Runtime.getRuntime().exec("rm -rf /data/data/<any folder>");
这段代码没有任何建议?我植根了我的手机并获得了超级用户访问权限。
访问/sdcard
不受限制。任何进程都可以读取或写入它。对另一端的访问/data/data/*
仅限于拥有的应用程序。
有根电话并不意味着您的所有应用程序都具有根访问权限。您必须授予对您的应用程序的 root 访问权限,然后才允许它弄乱您的手机。
您必须在删除文件之前明确请求超级用户权限:
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 等)也是一个好主意