android.mk编译动态库,安卓之Android.mk多文件以及动态库编译
1、多文件編譯
多文件編譯共有兩種方式:
(1) 在Android.mk中一一添加
LOCAL_PATH:= $(call my-dir) #定義當(dāng)前模塊的相對路徑
include $(CLEAR_VARS) #清空當(dāng)前環(huán)境變量
LOCAL_MODULE:= test #編譯生成的目標(biāo)名稱
LOCAL_SRC_FILES := test1.c \
test2.c \
test3.c
#編譯該模塊所需要的源文件
# LOCAL_MODULE_PATH:=$(LOCAL_PATH) #在當(dāng)前目錄生成該模塊文件
include $(BUILD_EXECUTABLE) #編譯之后的文件類型
(2)在Android.mk中調(diào)用函數(shù)
LOCAL_PATH:= $(call my-dir) #定義當(dāng)前模塊的相對路徑
include $(CLEAR_VARS) #清空當(dāng)前環(huán)境變量
LOCAL_MODULE:= test #編譯生成的目標(biāo)名稱
LOCAL_C_ALL_FILES := $(call all-c-files-under) #加載所有的文件
LOCAL_SRC_FILES :=$LOCAL_C_ALL_FILES
# LOCAL_SRC_FILES := test.c #編譯該模塊所需要的源文件
# LOCAL_MODULE_PATH:=$(LOCAL_PATH) #在當(dāng)前目錄生成該模塊文件
include $(BUILD_EXECUTABLE) #編譯之后的文件類型
2、一個Android.mk生成多個目標(biāo)文件,只需要在Android.mk下面做如下的操作
LOCAL_PATH:= $(call my-dir) #定義當(dāng)前模塊的相對路徑
include $(CLEAR_VARS) #清空當(dāng)前環(huán)境變量
LOCAL_MODULE:=test1 #編譯生成的目標(biāo)名稱
LOCAL_C_ALL_FILES := $(call all-c-files-under) #加載所有的文件
LOCAL_SRC_FILES :=$LOCAL_C_ALL_FILES
# LOCAL_SRC_FILES := test.c #編譯該模塊所需要的源文件
# LOCAL_MODULE_PATH:=$(LOCAL_PATH) #在當(dāng)前目錄生成該模塊文件
include $(BUILD_EXECUTABLE) #編譯之后的文件類型
LOCAL_PATH:= $(call my-dir) #定義當(dāng)前模塊的相對路徑
include $(CLEAR_VARS) #清空當(dāng)前環(huán)境變量
LOCAL_MODULE:= test2 #編譯生成的目標(biāo)名稱
LOCAL_C_ALL_FILES := $(call all-c-files-under) #加載所有的文件
LOCAL_SRC_FILES := $LOCAL_C_ALL_FILES
# LOCAL_SRC_FILES := test.c #編譯該模塊所需要的源文件
# LOCAL_MODULE_PATH:=$(LOCAL_PATH) #在當(dāng)前目錄生成該模塊文件
include $(BUILD_EXECUTABLE) #編譯之后的文件類型
3、生成動態(tài)庫,操作Android.mk
LOCAL_PATH:= $(call my-dir) #定義當(dāng)前模塊的相對路徑
include $(CLEAR_VARS) #清空當(dāng)前環(huán)境變量
LOCAL_MODULE:=libtest #編譯生成的目標(biāo)名稱
LOCAL_SRC_FILES :=test1.c test2.c test3.c
#編譯該模塊所需要的源文件
# LOCAL_MODULE_PATH:=$(LOCAL_PATH) #在當(dāng)前目錄生成該模塊文件
include $(BUILD_SHARED_LIBRARY) #編譯之后的文件類型
4、生成靜態(tài)庫,操作Android.mk
LOCAL_PATH:= $(call my-dir) #定義當(dāng)前模塊的相對路徑
include $(CLEAR_VARS) #清空當(dāng)前環(huán)境變量
LOCAL_MODULE:=libtest #編譯生成的目標(biāo)名稱
LOCAL_SRC_FILES :=test1.c test2.c test3.c
#編譯該模塊所需要的源文件
# LOCAL_MODULE_PATH:=$(LOCAL_PATH) #在當(dāng)前目錄生成該模塊文件
include $(BUILD_STATIC_LIBRARY) #編譯之后的文件類型
####共勉#####
原文:https://www.cnblogs.com/ywjfx/p/10004564.html
總結(jié)
以上是生活随笔為你收集整理的android.mk编译动态库,安卓之Android.mk多文件以及动态库编译的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android头部固定悬停,Androi
- 下一篇: android r文件错误,Androi