第一種:在安裝了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) 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))