在我的应用我做:
try {
String[] cmd = {"su", "-c", "\"ls /data/\""}; //to debug, will be cp /src /dest
ProcessBuilder builder = new ProcessBuilder(cmd);
builder.redirectErrorStream(true);
Process process = builder.start();
InputStream is = process.getInputStream();
Log.e("copy", is.toString());
Log.e("copy", convertStreamToString(is));
try {
process.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
} catch (IOException e1) {
e1.printStackTrace();
}
该应用程序被安装在/system/app/
和使用根权限运行。
我看到它授予的权限操作SuperSu的叠加。
随着cp /src /dest
代替ls
上面命令,它不会复制,所以调试与ls
,我得到:
tmp-mksh: ls /data: not found
这是为什么,我该如何解决?
注:这是同样的问题,因为这个问题 ,不同的是,通过增加外部写入权限解决-我要指出,在我的指挥两个路径是/data/..
。