一.Android编译过程
初始化参数设置
检查环境变量与目标环境
选择lunch并读取目标配置和平台信息
清空输出目录
编译
生成升级包
二. ./build/envsetup.sh分析
加载编译命令:source ./build/envsetup.sh
加载平台信息:lunch平台信息;export查看环境变量
三.Android.mk
native层(可执行文件、动态库、静态库);Java层(Jar包、Apk);组成android编译基本语法规则
Android.mk简例
LOCAL_PATH := $(call my-dir) #LOCAL_PATH定义在build/core/definitons.mk,定义当前模块相对路径
include $(CLEAR_VARS) #CLEAR_VAR定义在build/core/cler_vars.mk,表示清空除loal_path外的环境变量
LOCAL_MODULE := test #编译生成名称
LOCAL_SRC_FILES := test.c #源文件
LOCAL_MODULE_PATH := $(LOCAL_PATH) #指定输出路径
include $(BUILD_EXECUTABLE) #生成格式,这里是编程生成二进制文件
Android.mk深度学习1:多源码文件编译、一个.mk中编译多个目标文件、编译动态库、编译静态库