Android Build 系统基础入门

📚 共计 30 章节
第1章
Android Build 系统概述
什么是 Build 系统 · 为什么需要 Build 系统 · Android 构建流程全景图
全景概念
第2章
AOSP 源码结构
源码根目录结构 · 关键目录 (build/, device/, vendor/, hardware/) 的作用
源码目录
第3章
Makefile 基础
Makefile 基本语法 · 变量 · 规则 · 函数
语法构建
第4章
Android.mk 入门
Android.mk 文件结构 · LOCAL_ 变量详解 · 编译 Hello World 模块
模块实战
第5章
Android.bp 与 Soong
从 Make 到 Soong 的演进 · Blueprint 文件语法 · Android.bp 示例
Soong新式
第6章
产品配置与 BoardConfig
产品定义文件 (product.mk) · BoardConfig.mk 配置 · 设备树概念
设备配置
第7章
编译命令详解
lunch · make · m/mm/mmm/mma · 编译产物分析
命令实战
第8章
模块编译与依赖
模块类型 (BUILD_SHARED_LIBRARY, BUILD_EXECUTABLE等) · 模块依赖声明
依赖模块
第9章
预编译模块
预编译库的集成 · PREBUILT_ 变量 · 预编译 APK
预编译集成
第10章
系统镜像与分区
system.img, vendor.img, product.img 的生成 · 分区大小配置
镜像分区
第11章
编译缓存与增量编译
ccache 配置 · ninja 增量编译原理 · 清理编译产物
缓存增量
第12章
Kconfig 与内核编译
内核编译集成 · Kconfig 配置 · 内核模块编译
内核Kconfig
第13章
OTA 包生成
OTA 机制简介 · target_files 包 · 生成 OTA 升级包
OTA升级
第14章
SDK 与 NDK 编译
SDK 编译流程 · NDK 模块编译 · 预编译工具链
SDKNDK
第15章
编译错误排查
常见编译错误 · 日志分析 · Kati 错误定位
调试排错
第16章
Android 10 新特性
Soong 配置 · 产品配置变化 · 系统分区动态化
Android10动态分区
第17章
Android 11 新特性
虚拟 A/B 分区 · 构建系统优化 · 模块化构建
Android11虚拟AB
第18章
Android 12 新特性
apex 模块编译 · 构建系统重构 · 性能优化
Android12APEX
第19章
Android 13 新特性
构建系统改进 · 模块化增强 · 编译速度提升
Android13速度
第20章
Android 14 新特性
构建系统新功能 · 编译优化 · 新分区布局
Android14新布局
第21章
自定义产品开发
创建新设备 · 配置产品 · 添加驱动模块
产品驱动
第22章
GMS 集成
Google 服务集成 · 预装应用 · 签名配置
GMS预装
第23章
安全编译
SELinux 策略编译 · 密钥配置 · 安全启动
安全SELinux
第24章
性能优化
编译速度优化 · 产物大小优化 · 并行编译配置
优化并行
第25章
持续集成
CI 环境搭建 · 自动化编译 · 编译结果验证
CI自动化
第26章
多目标编译
同时编译多个产品 · 多架构支持 · 分平台编译
多目标架构
第27章
编译脚本定制
自定义编译命令 · 扩展编译系统 · 添加新功能
脚本定制
第28章
构建系统调试
调试编译过程 · 分析依赖关系 · 优化构建流程
调试依赖
第29章
实战案例
从零开始编译 AOSP · 添加新硬件支持 · 定制系统应用
实战AOSP
第30章
未来趋势
构建系统发展方向 · Bazel 集成 · 模块化趋势
趋势Bazel