jni程式啟動時報錯:
在android jni調試的過程中出現了一個錯誤
E/AndroidRuntime(31969): java.lang.UnsatisfiedLinkError: Native method not found:
先檢查jni中的函數的名字是否正确,一個一個字元對比會發現完全一樣。
通過nm檢視so的符号
D:\Android\Sdk\ndk\21.0.6113669\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-nm.exe -D .\libadasManager.so
發現
native函數确實不在動态庫中
檢視Android.mk
但是檔案卻是包含進去了
後來猜測是否是因為jni調用的檔案字尾是.h導緻的
将jni對應的檔案名改為.cpp
再次編譯,檢視so,函數名在裡面了
推進去再試下,異常沒有再出現。