开发环境:Window7与Window10都可以
安装:Android Studio3.0,OpenCV3.2
1.导入OpenCV 人脸检测模块 face-detection(Eclipse项目),解决报错问题。
①更改gradle-wrapper.propreties中的gradle版本。
②更改build.gradle中的compileSdkVersion,minSdkVersion,targetSdkVersion,以及buildToolsVersion。
2.gradle.propreties 中添加 android.useDeprecatedNdk=true
3.配置NDK路径 ndk.dir=D\:\\soft\\Android\\android-ndk-r16b
4.在app的build.pradle中添加
sourceSets.main {
jni.srcDirs = ['libs']
}
5.修改项目jni下的Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
#注释打开,设置为on
OPENCV_CAMERA_MODULES:=on
OPENCV_INSTALL_MODULES:=on
OPENCV_LIB_TYPE:=SHARED
#opencv的路径
include D:\soft\Android\OpenCV-android-sdk\sdk\native\jni\OpenCV.mk
LOCAL_SRC_FILES := DetectionBasedTracker_jni.cpp
LOCAL_C_INCLUDES += $(LOCAL_PATH)
LOCAL_LDLIBS += -llog -ldl
LOCAL_MODULE := detection_based_tracker
include $(BUILD_SHARED_LIBRARY)
7.修改项目jni下Application.mk
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a armeabi #要生成的so文件
APP_PLATFORM := android-14 #最小版本
6.复制opencv\sdk\native下的libs(可以只选择需要的),放到main目录下,改文件夹名为 jniLibs
7.根据jni生成so,jni目录下有h和cpp文件,这里面就实现了检测的相关代码,这里我们并不需要动。除非改包名,那么就要做相应的修改。直接进入到项目jni下 ndk-build 来生成so文件。(这里要注意,要设置ndk的环境变量以及项目中ndk的路径,还有ndk-build的快捷键)
7.jni目录右击选中运行external tool下的ndk-build。(需要设置ndk-build快捷键)。ndk-build成功,将obj下的so文件复制到libs对应的版本下面。