4

私は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*を手動で入力してからアプリを実行すると、すべてが完全に機能します。

私のコードが機能しない理由を教えてもらえますか?

4

0 に答える 0