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,函数名在里面了
推进去再试下,异常没有再出现。