第一种:在安装了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))