我正在尝试从android java app中将一些十六进制数据写入/ dev / ttyS1,但没有任何成功。
最简单的方法应该是运行时exec命令,但它对我不起作用。
我试过了:
Process process = Runtime.getRuntime().exec("echo -n -e \\xb5\\x62\\x06\\x17\\x14\\x00\\x00\\x40\\x00\\x02\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x75\\x4f > /dev/ttyS1");
还有:
Process process = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes("echo -n -e \\xb5\\x62\\x06\\x17\\x14\\x00\\x00\\x40\\x00\\x02\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x75\\x4f > /dev/ttyS1\n");
os.flush();
os.writeBytes("exit\n");
os.flush();
没有任何成功。 adb shell中的相同命令当然也可以。
还有其他选项可以从Android应用程序向/ dev / ttyS1发送十六进制数据吗? 或者也许有人知道我的方式我做错了什么?
我也尝试了标记为问题How to make pipes work with Runtime.exec()?的答案的方法,但也没有任何运气。