gpt4 book ai didi

android - chmod 0777/data/file 不适用于 root 手机

转载 作者:太空狗 更新时间:2023-10-29 12:46:05 25 4
gpt4 key购买 nike

我使用的是当前代码,它无法在已获得 root 权限的手机上运行。谁能告诉我为什么?

public void setpermission()
{
try
{
Process process1 = Runtime.getRuntime().exec("su");
process1.waitFor();
Process process2 = Runtime.getRuntime().exec("/system/bin/sh chmod 0777 /data/playback.bin");
process2.waitFor();
}
catch((Exception e) {
e.printStackTrace();
}

最佳答案

我认为您在解析命令字符串时可能会遇到问题。

/system/bin/sh chmod 0777/data/playback.bin 被视为 "/system/bin/sh""chmod""0777""/data/playback. bin/" 加上额外的引号。不确定这是否是失败的原因,但请尝试以下操作:

Process process = Runtime.getRuntime().exec("su");
DataOutputStream suStream = new DataOutputStream(process.getOutputStream());

suStream.writeBytes("/system/bin/sh chmod 0777 /data/playback.bin" + "\n");

suStream.writeBytes("exit\n");
suStream.flush();
suStream.close();

process.waitFor();

请注意,您应该在 exec("su") 之后获得应用程序根权限弹出窗口,所以如果您不这样做,那么它永远不会达到甚至尝试执行您的文件权限更改的地步命令。

编辑 - 您也可以尝试上述的这种变体(基于 this answer ):

Process shell = Runtime.getRuntime().exec("su", null, new File("/system/bin/"));
OutputStream os = shell.getOutputStream();

os.write(("chmod 777 /data/playback.bin").getBytes("ASCII"));
os.flush();
os.close();
shell.waitFor();

关于android - chmod 0777/data/file 不适用于 root 手机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18071816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com