を参考にします.
NativeActivity を使う場合, AndroidManifest.xml で,
<meta-data android:name="android.app.lib_name"
android:value="native-lib" />
として, .so を meta-data に追加しておかないと. .so の android_main
を見つけてくれず, FATAL EXCEPTION: main
エラーが出ますので注意です!
(AppCompatActivity などを使う場合は設定不要)
permission 関連
Storage permission の要求(Java layer)も NativeActivity でできました.
ただ, Java onCreate と並行して android_main
が呼ばれてしまうようなので, JNI で permission の状態を Java へクエリできる仕組みが必要になります.
TODO
-
Scopded directory access https://developer.android.com/training/articles/scoped-directory-access あたりを調べる(C++ レイヤで permission check しないで,
/data/local/tmp
やら app 限定ストレージでファイル読み書きできる方法を調べる)