工程使用Eclipse Mars+jni+Opencv,图像处理在jni里做。android只是抄过来用而已。
——————-配置部分———————
每次配置总会出现问题(查了众多资料崩了几天总结得来):
1、jre 库导入(编译java代码)
2、NDK路径和build path ${NDKROOT}/ndk-build.cmd (编译C、Cpp),调试需要再加上NDK_DEBUG=1
3、 C++\C path and symbols。其实就是jni查找include路径
4、Android的activity等类引入,一般可以自动修复
5、Android.mk的注意:
①Opencv.mk引入
②LOCAL_MODULE与LOCAL_SRC_FILES
③LOCAL_LDLIBS +=(严重注意 是+=还是冒号:,容易漏掉库)
④APP_STL := gnustl_static 和 OPENCV_INSTALL_MODULES:=on后者可以使机器不用安装opencv manager,但是貌似编译起来变慢许多。
6、jni部分:
C不会自动强制转换,接口是C的写法。Cpp和C衔接注意extern “C”。另外C部分会出现各种怪异问题,比如size_t不识别(直接改unsigned int),部分宏定义(自己重写)找不到,引用头文件无效等等(比如float.h每次都出问题)。最奇葩的问题是因为eclipse不会默认强制转换,会提示unresolved symbol问题。比如我使用 fab