背景:JNI接口名稱靜態(tài)注冊的時候往往需要書寫很長的名稱,接口名稱可以通過javah生成、AS自動導入或者手動書寫,當手動書寫錯誤時候,編譯并不會報錯,
這個錯誤會帶到運行時,此時發(fā)現(xiàn)已經(jīng)晚了
措施:利用AS自帶的代碼檢測工具進行檢查
檢測時機:編譯前
檢測步驟:
-
build.gradle配置ndk編譯配置,如下圖
捕獲.PNG sync project with gradle
跨語言(含有C++語言)、跨Module的項目一般修改后,要同步一下。-
工具欄->code->inspect code -> ok
捕獲.PNG -
執(zhí)行完成后 結果如下
捕獲.PNG
明確提示jni函數(shù)找不到
當項目ndk和java主工程分開編譯時,可以在最終提交前 將 ndk編譯配置加到gradle,然后靜態(tài)檢測下 再去除配置 提交代碼。