新建jni目录 , 设置好android ndk编译环境
将源码文件放在当前目录下 以main.cpp文件为例
jni目录下的结构如下:
Android.mk内容如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := main.cpp
LOCAL_MODULE := test
LOCAL_C_INCLUDES := /media/diska-4/workspace/FaceRecongnition/install/dlib-18.14/include \
/media/diska-4/workspace/FaceRecongnition/install/opencv-2.4.13/include
LOCAL_CFLAGS += -std=c++11 -O3
LOCAL_LDFLAGS += -L/media/diska-4/workspace/FaceRecongnition/install/opencv-2.4.13/lib \
-L/media/diska-4/workspace/FaceRecongnition/install/dlib-18.14/lib
#LOCAL_SHARED_LIBRARIES += libopencv_core libopencv_imgproc libopencv_highgui libopencv_objdetect libdlib
LOCAL_LDLIBS += -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_ml -lopencv_info -lopencv_photo \
-lopencv_imgproc -lopencv_highgui -lopencv_objdetect -ldlib
include $(BUILD_EXECUTABLE)
Application.mk内容如下:
APP_STL:=gnustl_static ##ok
#APP_STL:=stlport_static ##not work!
#APP_STL:=system ##not work!
#APP_STL:=c++_static ##ok
#APP_STL:=c++_shared ##ok
#APP_STL:=gnustl_shared ##ok
APP_CPPFLAGS:=-frtti -fexceptions
APP_ABI:=armeabi-v7a
APP_PLATFORM:=android-21
APP_BUILD_SCRIPT:=Android.mk
make.sh内容如下:
ndk-build NDK_PROJECT_PATH=. NDK_APPLICATION_MK=Application.mk
完成上面步骤后直接在当前目录下运行make.sh
./make.sh