一、项目结构
jni相关的单独放在一个文件夹内,包括
st_stereo.h,main.cpp,这个是要进行编译的文件
lib下的libSTdisp.so,libStereoblur.so,前面要编译的文件所引用的库文件
android.mk和Application.mk
image.png
二、android.mk中相关设置
注意点有:
1.前面两个库的引用基本是固定写法,结尾写成
include $(PREBUILT_SHARED_LIBRARY)
2.第三个库为main.cpp,是我们要编译的库,它引用其他.so库的时候,用
LOCAL_SHARED_LIBRARIES := CLEAR_VARS
LOCAL_SHARED_LIBRARIES += STdisp
LOCAL_SHARED_LIBRARIES += Stereoblur
3.新建项目默认是没有ndk环境的,需要右键项目AndroidTools里启用NDK环境,如果没有这一步,项目是没有obj文件夹的,之后ndk-build也不会正常编译
Android.mk
LOCAL_PATH := $(call my-dir)
LOCAL_PREBUILT_DIR := prebuilt
include $(CLEAR_VARS)
LOCAL_MODULE := Stereoblur
LOCAL_MODULE_PATH := ./
LOCAL_SRC_FILES := $(LOCAL_PREBUILT_DIR)/lib/$(TARGET_ARCH_ABI)/libStereoblur.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := STdisp
LOCAL_MODULE_PATH := ./
LOCAL_SRC_FILES := $(LOCAL_PREBUILT_DIR)/lib/$(TARGET_ARCH_ABI)/libSTdisp.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE :