当我在该端口上写入数据时,我需要更改 /dev/tty* 文件的权限。我可以通过以 root 身份输入 adb shell 从 Windows 命令提示符更改权限。
但是当我重新启动设备时,权限不会保留。相反,它们被设置为默认值。
所以,每次我需要在重启后运行我的应用程序时,我都需要更改权限。
我尝试使用Runtime.exec()
方法从应用程序运行 adb 命令,但这并没有改变任何东西,因为应用程序没有更改文件所有权权限的权限。
这就是我从应用程序执行命令的方式(在这种情况下是在模拟器中测试的):
Process process = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes("chown root:root /dev/ttyS0 \n");
os.writeBytes("chmod 777 /dev/ttyS0 \n");
os.writeBytes("exit\n");
os.flush();
os.close();
process.waitFor();
当“su”命令被执行时,它会给出错误su: uid 10044 not allowed to su
因此,在执行 chown 或 chmod 时会给出错误Unable to chmod Operation Not permitted
那么,如何更改该文件的权限和所有权?
任何帮助都非常感谢!
谢谢 !!