Android:无法更改/ dev / ttyS0的权限

时间:2013-09-17 06:33:17

标签: android c++ java-native-interface chmod

我正在使用Olinuxino-A20(或Cubieboard-2,他们使用相同的Android图像)。我想写点/ dev / ttyS0。我正在使用用C编写的JNI方法。 在我的.cpp文件中,我被拒绝了。

fd = open(tty, O_RDWR);
....
f(fd < 0){
    LOGE("Failed to open serial console!");
    LOGE(strerror(errno));
    return -1;
} else
    LOGI("Serial port opened!");

所以这回复“许可被拒绝”。

在我的活动中,我尝试通过以下方式获取访问权限:

try {
    Runtime.getRuntime().exec(
new String[] { "su", "-c", "chmod 777 /dev/ttyS*" });
    Log.i("root", "Success chmod.");
} catch (IOException e) {
    e.printStackTrace();
Log.e("root", "Fail to gain access");
}

仍然没有任何反应。 Android的版本是4.2.2,内核3.3。是的,这个设备是扎根的。我使用了与Olinuxino-A13(内核3.0的4.0.3)几乎相同的代码,并且这有效。

当我打开串口终端并手动输入命令: chmod 777 / dev / ttyS * 然后运行应用程序一切正常。

有人可以给我一些建议,为什么我的代码无效?

0 个答案:

没有答案