我有两个命令来执行和取回数据 我的 .sh 文件作为两个命令,看起来像这样
苏 dhcpcd eth0
当我尝试在我的 Android 终端中键入 as 来执行 .sh 命令时 sh文件名.sh 它没有给我输出 但是当我通过输入单独的行来执行它时它起作用了。所以当我编程为
nativeProcess = Runtime.getRuntime().exec("su");
nativeProcess = Runtime.getRuntime().exec("dhcpcd eth0");
while ((line = br.readLine()) != null)
{
contents.append(line + "\n");
}
这有什么问题吗?我得到的输出内容为 null
最佳答案
Java 中的
exec
启动一个新进程。所以第一行创建了一个新的 su
进程,它将简单地坐在那里等待您的输入。第二行启动一个新的 dhcpcd
进程,该进程没有特权,因此不会产生有用的输出。
你想要的是使用 su
运行 dhcpcd
,通常是这样的:
exec("su -c dhcpcd eth0")
关于android - 在 Android 中以编程方式执行 shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14817008/