您的位置:首页 > 移动开发

jni问题汇总

2016-04-15 11:12 357 查看
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就成了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息