第一种:在安装了SDK和Elipse支持ADT的前提下
1.安装 NDK, 下载android-ndk-r8e-windows-x86.zip, 解压至本地(android-ndk-r8e-windows-x86_64.zip解压后不包含prebuilt文件夹,sample中的hello-jni运行报错)
2.配置环境变量$NDKROOT=android-ndk的文件夹路径
3.eclipse安装CDT插件,Eclipse->help->Install software,在"available software sites"中选择相应的CDT路径,安装
4.下载最新的OpenCV for Anroid库OpenCV-2.4.4-android-sdk.zip ,解压至本地
5.编译生成openCV的jar库文件
1)eclipse中导入OpenCV-2.4.4-android-sdk\sdk\java文件夹
2)添加openCV Library工程的C++工程属性,右键project名称->New->other->C/C++->Convert to a C/C++ Project(Adds C/C++ Nature)
3)为project 配置ndk built路径。右键project->Properties->C/C++ build, 设置Build command: ${NDKROOT}/ndk-build.cmd; behavior选项中的不勾clean
4)编译工程, /bin文件夹下生成opencv library - 2.4.4.jar
6. 在目标Adnroid应用程序中添加对opencv library - 2.4.4.jar 的引用,便可以调用相应的open CV库函数了
第二种:在源码下编译,包含openCV jar包和.so库文件
将.jar文件和.so文件放在指定的文件夹中,如project/libs文件夹下, 修改android.mk文件如下,指定相应的静态库和.so库文件
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_STATIC_JAVA_LIBRARIES := opencv #指定静态库名
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := 目标apk名称
WITH_DEXPREOPT := false
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := opencv:libs/opencvlibrary.jar #指定静态库名对应的库文件路径
LOCAL_PREBUILT_LIBS := libopencv_java:libs/armeabi-v7a/libopencv_java.so #指定.so文件对应的路径
LOCAL_MODULE_TAGS := optional
include $(BUILD_MULTI_PREBUILT)
include $(callall-makefiles-under,$(LOCAL_PATH))