我正在尝试在 Android 中运行命令以将输出发送到串行端口。如果我使用 adb shell 并输入以下内容:
busybox echo -ne 'testMessage' > /dev/ttymxc1
我在连接到主板串行端口的终端上收到“testMessage”。
然后我在 Android 应用程序中运行以下命令:
try
{
Runtime.getRuntime().exec("busybox echo -ne 'testMessage' > /dev/ttymxc1");
} catch (IOException e)
{
e.printStackTrace();
}
但是,这次我没有收到任何输出,也没有错误。我试过在没有busybox的情况下运行,只是
echo -ne 'testMessage' > /dev/ttymxc1
但这会导致空工作目录、空环境错误。这在 adb shell 中确实有效......
在应用程序中运行命令的输出是否与在 adb shell 中运行命令不同?有没有正确的方法来让它工作?
编辑:请注意我以 root 用户身份运行。我还在此命令之前运行了以下命令,并确保已授予超级用户权限:
try
{
process = Runtime.getRuntime().exec("su");
}
catch (IOException e)
{
e.printStackTrace();
}