知识就是力量,时间就是生命。这篇文章主要讲述安卓之Android.mk多文件以及动态库编译相关的知识,希望能为你提供帮助。
1、多文件编译
多文件编译共有两种方式:
(1) 在android.mk中一一添加
LOCAL_PATH:= $(call my-dir)#定义当前模块的相对路径 include $(CLEAR_VARS)#清空当前环境变量 LOCAL_MODULE:= test#编译生成的目标名称 LOCAL_SRC_FILES :=test1.c
test2.c
test3.c
#编译该模块所需要的源文件 # LOCAL_MODULE_PATH:=$(LOCAL_PATH)#在当前目录生成该模块文件 include $(BUILD_EXECUTABLE)#编译之后的文件类型
(2)在Android.mk中调用函数
LOCAL_PATH:= $(call my-dir)#定义当前模块的相对路径 include $(CLEAR_VARS)#清空当前环境变量 LOCAL_MODULE:= test#编译生成的目标名称 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)#在当前目录生成该模块文件 include $(BUILD_EXECUTABLE)#编译之后的文件类型
2、一个Android.mk生成多个目标文件,只需要在Android.mk下面做如下的操作
LOCAL_PATH:= $(call my-dir)#定义当前模块的相对路径 include $(CLEAR_VARS)#清空当前环境变量 LOCAL_MODULE:= test1#编译生成的目标名称 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)#在当前目录生成该模块文件 include $(BUILD_EXECUTABLE)#编译之后的文件类型
LOCAL_PATH:= $(call my-dir)#定义当前模块的相对路径 include $(CLEAR_VARS)#清空当前环境变量 LOCAL_MODULE:= test2#编译生成的目标名称 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)#在当前目录生成该模块文件 include $(BUILD_EXECUTABLE)#编译之后的文件类型
3、生成动态库,操作Android.mk
LOCAL_PATH:= $(call my-dir)#定义当前模块的相对路径 include $(CLEAR_VARS)#清空当前环境变量 LOCAL_MODULE:= libtest#编译生成的目标名称 LOCAL_SRC_FILES :=test1.ctest2.ctest3.c #编译该模块所需要的源文件 # LOCAL_MODULE_PATH:=$(LOCAL_PATH)#在当前目录生成该模块文件 include $(BUILD_SHARED_LIBRARY)#编译之后的文件类型
4、生成静态库,操作Android.mk
LOCAL_PATH:= $(call my-dir)#定义当前模块的相对路径 include $(CLEAR_VARS)#清空当前环境变量 LOCAL_MODULE:= libtest#编译生成的目标名称 LOCAL_SRC_FILES :=test1.ctest2.ctest3.c #编译该模块所需要的源文件 # LOCAL_MODULE_PATH:=$(LOCAL_PATH)#在当前目录生成该模块文件 include $(BUILD_STATIC_LIBRARY)#编译之后的文件类型
【安卓之Android.mk多文件以及动态库编译】####共勉#####
推荐阅读
- Mac 下 Android Studio 连 夜神模拟器 调试
- django创建新的app应用无法找到模板保错
- 爱奇艺下载|爱奇艺app安卓版下载
- 安卓手机录屏直播软件使用方法
- app应用市场下载统计攻略
- 2016 Top 10 Android Library
- DefaultNamespaceHandlerResolver中handlerMappings如何初始化
- 安卓-生命周期
- EOSDapp 上的×××游戏还有戏吗?