用eclipse编写Android NDK程序时,会出现
System.loadLibrary("***");//这里的**是你在Android.mk文件中的LOCAL_MODULE 。即.so文件(注意不要lib)
}
java.lang.UnsatisfiedLinkError: Native method not found:问题
错误排除一:严格按照以下步骤编写程序:
a:建立引用外部函数的java类
b:javah 生成.h文件
c:复制.h文件中的JNIEXPORT jint JNICALL Java_**()方法
d:编辑.cpp文件配置相关属性,编译程序未出现错误,在libs目录中成功找到**.so文件
错误都排除,但是还是提示这个问题,这个时候应该就抓狂了,这时候请注意,你有加载.so库嘛?这种错误对于初学者来说很容易犯,尤其是对于要学习opencv而学习NDk的人来说。
第一:在MainActivity中加入
static{
System.loadLibrary("***");//这里的**是你在Android.mk文件中的LOCAL_MODULE 。即.so文件(注意不要lib)
}
第二:去掉Android.mk中的include ../OpenCV_sdk/native/jni/OpenCV.mk
注意:第二步是针对学习opencv的人来说,学习有时会急于求成或粗心大意没有注意到这些错误。