如何引入系统库
#LOCAL_SHARED_LIBRARIES += libxxx
LOCAL_SHARED_LIBRARIES += liblog
如何引入第三方库(动态库 xxx.so)
include $(CLEAR_VARS)
LOCAL_MODULE := test
#LOCAL_C_ALL_FILES := $(call all-c-files-under)
LOCAL_SRC_FILES := src/main.cpp
LOCAL_SHARED_LIBRARIES += liblog
#引入第三方库
LOCAL_LDFLAGS := -L./lib/ -ltest
#LOCAL_LDFLAGS := -L路径 -l库名
LOCAL_MODULE_PATH := $(LOCAL_PATH)/bin
include $(BUILD_EXECUTABLE)
如何引入第三方头文件
#引入第三方头文件
LOCAL_C_INCLUDES := $(LOCAL_PATH)/inc
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libtest
#LOCAL_C_ALL_FILES := $(call all-c-files-under)
LOCAL_SRC_FILES := src/test.cpp
LOCAL_MODULE_PATH_64 := $(LOCAL_PATH)/lib
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := test
#LOCAL_C_ALL_FILES := $(call all-c-files-under)
LOCAL_SRC_FILES := src/main.cpp
LOCAL_SHARED_LIBRARIES += liblog
#引入第三方头文件
LOCAL_C_INCLUDES := $(LOCAL_PATH)/inc
#引入第三方库
LOCAL_LDFLAGS := -L./lib/ -ltest
LOCAL_MODULE_PATH := $(LOCAL_PATH)/bin
include $(BUILD_EXECUTABLE)
代码中直接引用绝对路径即可
#include<stdio.h>
#include<utils/Log.h>
#include<test.h>
#define LOG_TAG "main"
//extern void callMyDir(void);
int main(void)
{
//test中的函数
callMyDir();
ALOGE("test");
return 0;
}
如何引入静态库 (xxx.a)
首先编译出来一个静态库然后放在lib路径下
#引入第三方静态库
LOCAL_LDFLAGS := $(LOCAL_PATH)/lib/libtest.a
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libtest
#LOCAL_C_ALL_FILES := $(call all-c-files-under)
LOCAL_SRC_FILES := src/test.cpp
LOCAL_MODULE_PATH_64 := $(LOCAL_PATH)/lib
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := test
#LOCAL_C_ALL_FILES := $(call all-c-files-under)
LOCAL_SRC_FILES := src/main.cpp
LOCAL_SHARED_LIBRARIES += liblog
LOCAL_C_INCLUDES := $(LOCAL_PATH)/inc
#引入第三方静态库
LOCAL_LDFLAGS := $(LOCAL_PATH)/lib/libtest.a
LOCAL_MODULE_PATH := $(LOCAL_PATH)/bin
include $(BUILD_EXECUTABLE)
如何在mk文件中写判断
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := test
USED_SHARED := true
#LOCAL_C_ALL_FILES := $(call all-c-files-under)
LOCAL_SRC_FILES := src/main.cpp
LOCAL_SHARED_LIBRARIES += liblog
LOCAL_C_INCLUDES := $(LOCAL_PATH)/inc
#判断
ifeq ($(USED_SHARED),true)
LOCAL_LDFLAGS := $(LOCAL_PATH)/lib/libtest.a
else
LOCAL_LDFLAGS := -L./lib/ -ltest
endif
LOCAL_MODULE_PATH := $(LOCAL_PATH)/bin
include $(BUILD_EXECUTABLE)