(二) Android.mk 引入系统库 引入第三方库 引入第三方头文件 引入静态库 写判断

如何引入系统库

#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)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值