1.问题:jni/Android.mk:5:../../sdk/native/jni/OpenCV.mk: No such file or directory
make.exe: *** Norule to make target `../../sdk/native/jni/OpenCV.mk'. Stop.
原因:直接从NDK安装目录 复制 samples到工作目录会无法进入绝对路径(OpenCV.mk所在路径)
解法:打开项目jni文件夹下Android.mk,把../../sdk/native/jni/OpenCV.mk修改为OpenCV-3-android-sdk/sdk/native/jni/OpenCV.mk即可
jni里面,关于Application.mk和android.mk每行代码的含义,下面这篇文章介绍的很详细,尤其推荐jni调用cv第一种方法:
http://blog.csdn.net/yanzi1225627/article/details/27863615
2.OpenCV Manager问题
用到opencv的APK在手机上运行时,一般需要OpenCVManager给opencv提供链接支持,但是android手机CPU不一样,可以分为armeabi ,armeabi-v7a ,mips,x86等,运行相应程序需要对应的opencvmanager,不然无法运行,这有点麻烦。
优化方法:
jni文件夹下Application.mk中APP_ABI := armeabi-v7a改成APP_ABI := all
编译出来的obj文件夹下的本地库就会包含armeabi,armeabi-v7a ,mips,x86四种,虽然编译出来的文件有点大,但是很大程度上避免了opencv manager选型困扰。
3.jni下cpp
jni下cpp文件夹,你不打开,它就不自己报错,并且整个项目可以正常编译运行导出;打开之后,哪怕什么错也没有,它也显示bug…
解法:退出eclipse,重启,一切就又都正常了,又不报错了…就这么用吧,别再去打开cpp就成了