Code Aurora の FM Radio コードを Android Gingerbread コードベースにマージしました。
FM アプリ フレームワークは、ファイルに android_hardware_fm.cpp という名前で実装されている JNI を使用して、fm ラジオ デバイス ( /dev/radio ) にアクセスしようとします。このファイルには、読み取り/書き込みモードで open() を使用してデバイス ノードへのファイル記述子を取得しようとする関数があります。ただし、呼び出しはエラー コード -13 で失敗します: 権限が拒否されました。
また、/dev/radio ファイルを (RDWR モードで) 開こうとする小さな C 実行可能ファイルを作成し、その fd を出力して閉じます。ターゲット システムの /system/bin から実行され、有効な fd が表示されます。
ところで、JNI 実装は Android コア ライブラリの一部です。これは Frameworks/base/core/jni にあり、libandroid_runtime.so の一部としてコンパイルされます。
アイデア/解決策はありますか?前もって感謝します。