我可以轻松地使用adb shell中的'rm / data / system / [file]',但是从应用程序中这不起作用。
命令'du','ls','echo'在代码中工作正常,但命令'rm'不起作用。它甚至没有在SD卡上工作。
我尝试过的代码:
1)
String[] cmd = { "/system/bin/sh", "-c", "rm -r /sdcard/1" };
try {
Process process = Runtime.getRuntime().exec(cmd);//execute command
//read the output of command
InputStreamReader reader = new InputStreamReader(process.getInputStream());
.....
2)与(1)相同的代码,用“su”代替“/ system / bin / sh”
3)
process=Runtime.getRuntime().exec("/system/bin/sh");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes("rm -r /sdcard/1\n");
os.flush();
os.writeBytes("exit\n");
os.flush();
process.waitFor();
4)与(3)相同的代码,用'su'代替'/ system / bin / sh'
答案 0 :(得分:0)
在开发人员模式下进入启动设置,使用.anr文件调试,然后使用dex文件编译inertpreteor以开始启动rm命令
答案 1 :(得分:0)
您可以删除应用字段结构中的文件
我的意思是:/data/data/com.mycompany.myapp
[由于需要sudo,我不确定您是否可以删除其他位置的文件]
所以,就去喜欢:
String cmd="rm -f /data/data/com.mycompany.myapp/myfile.txt";
try
{
Runtime.getRuntime().exec(new String[]{"sh","-c",cmd});
}
catch(Exception e){}