gpt4 book ai didi

android - 如何通过android中的应用程序运行多个shell命令

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

我试图通过我的应用程序运行 3 个不同的命令,但只有第一个被执行。这是代码。

Process process = Runtime.getRuntime().exec("su");
process = Runtime.getRuntime().exec("mount -o remount,rw /system");
process = Runtime.getRuntime().exec("cp /sdcard/hosts /system/etc");

我获得了 root 访问权限,但之后没有其他任何事情发生。

编辑:我试过这段代码,但这也只执行 su 命令

String[] commands = {"mount -o remount,rw /system", "cp /sdcard/hosts /system/etc"};

Process p = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(p.getOutputStream());
for (String tmpCmd : commands) {
os.writeBytes(tmpCmd+"\n");
}
os.writeBytes("exit\n");
os.flush();

编辑:这可行,但一次只有一个命令,我必须为每个命令制作一个按钮。

String[] hin1 = { "su", "-c","cp /sdcard/Mediafire/hosts /system/etc/" };
try {
Runtime.getRuntime().exec(hin1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

最佳答案

这很容易做到。

使用“根工具”。

从此链接添加 jar 文件: https://github.com/Stericson/RootTools .

Command command = new Command(0, "echo this is a command", "echo this is another command"){
@Override
public void output(int id, String line)
{
//Do something with the output here
}
};
RootTools.getShell(true).add(command).waitForFinish();

关于android - 如何通过android中的应用程序运行多个shell命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7216071/

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