私はアンドロイドNDKでいくつかのコマンドラインツールをビルドし、/ data/local/tmpで実行します。今度は "android.permission.RECORD_AUDIOが必要です"というメッセージが表示されます。通常、Androidアプリケーションの場合はAndroidManifest.xmlにありますが、アンドロイドシェルユーザにそれを与える方法はありますか?アンドロイドシェルユーザーにandroid.permission.RECORD_AUDIO権限を与える方法はありますか?
ソースコードのような:
sp<AudioRecord> rec = new AudioRecord(AUDIO_SOURCE_MIC, 44100, AUDIO_FORMAT_PCM_16_BIT, AUDIO_CHANNEL_IN_MONO);
Logcat:
I/AudioFlinger(3772): AudioFlinger's thread 0xf0e838c0 ready to run
W/ServiceManager(3772): Permission failure:android.permission.RECORD_AUDIO from uid=2000 pid=-1
E/ (3772): Request requires android.permission.RECORD_AUDIO
E/AudioFlinger(3772): openRecord() permission denied: recording not allowed
E/AudioRecord(14132): AudioFlinger could not create record track, status: -1
--------- beginning of crash
...
をターゲットSDKが23以下である場合は、あなたのターゲットSDKが何であるかに依存します実行時のアクセス許可を与える必要はありません。 – ClassA