因此,我需要将文件复制到/system
,并且必须使用shell命令,因为应用程序没有以足够的权限运行(并且当时甚至没有安装到/ system / apps) - 因此无法直接写入/system
。
String cmd = String.format("\"/bin/sh -c \'cp %s %s'", tempPath, out);
p = Runtime.getRuntime().exec(new String[] { "su", "-c", cmd });
但是,SuperSU
弹出窗口通知我,以下应用程序被授予以root身份运行:
/bin/sh -c _cp %s %s_
。
所以'被_替换,最终命令不起作用。
运行具有如此多引号的命令的正确方法是什么(对于su
的单个参数,“”和“是”?
我知道使用由su
分隔的\n
stdin to run commands,但它似乎有自己的问题(并且也没有工作)。