最近在做图形识别算法,语言用的c++,开源库用的opencv。需要移植到android。经过几天实践,终于成功,现记录下来,希望对别人有帮助
其它的android.mk文件,都是编译本目录下的文件。而本人做的图形算法,要在多个平台下编译,最开始是做的 windows下版本,vs2015的项目,故不将
c++文件和目录拷贝到jni目录下,而是直接将android.mk里指定到vs所在目录
我的android.mk内容如下
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# OpenCV
OPENCV_CAMERA_MODULES:=on
OPENCV_INSTALL_MODULES:=on
include F:\OpenCV-3.1.0-android-sdk\OpenCV-3.1.0-android-sdk\OpenCV-android-sdk\sdk\native\jni\OpenCV.mk
FILE_LIST := $(wildcard E:/CarRegognize/CarRegognize/easypr/core/*.cpp)
FILE_LIST += $(wildcard E:/CarRegognize/CarRegognize/thirdparty/LBP/*.cpp)
FILE_LIST += $(wildcard E:/CarRegognize/CarRegognize/thirdparty/mser/*.cpp)
FILE_LIST += $(wildcard E:/CarRegognize/CarRegognize/thirdparty/xmlParser/*.cpp)
FILE_LIST += $(wildcard E:/CarRegognize/CarRegognize/easypr/util/*.cpp)
FILE_LIST += $(wildcard E:/CarRegognize/CarRegognize/thirdparty/textDetect/*.cpp)
LOCAL_SRC_FILES := com_aiseminar_EasyPR_PlateRecognizer.cpp
LOCAL_SRC_FILES += $(FILE_LIST:$(LOCAL_PATH)/%=%)
$(warning $(FILE_LIST))
$(warning $(LOCAL_SRC_FILES))
LOCAL_C_INCLUDES := E:/CarRegognize/CarRegognize/include \
E:/CarRegognize/CarRegognize/include/easypr/core \
E:/CarRegognize/CarRegognize/include/easypr/util \
D:/opencv/sources/include \
E:/CarRegognize/CarRegognize \
D:/opencv/build/include
LOCAL_MODULE := EasyPR
LOCAL_LDLIBS += -llog
include $(BUILD_SHARED_LIBRARY)