Process p1;
p1=Runtime.getRuntime().exec("rm -rf /sdcard/<any folder>");
此代码适用于SD卡,删除所需的文件夹,但不适用于根目录
p1=Runtime.getRuntime().exec("rm -rf /data/data/<any folder>");
这段代码没有任何建议吗? 我根植了手机并获得了超级用户访问权。
答案 0 :(得分:0)
不限制对/sdcard
的访问权限。任何进程都可以读取或写入它。访问另一方的/data/data/*
仅限于拥有的应用程序。
root电话并不意味着所有应用都具有超级用户权限。您必须先授予您应用的root权限,然后才能让手机搞砸。
答案 1 :(得分: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等)。