repo
安卓源码包含数百个git库, googole开发了 repo工具来管理安卓版本库。 repo 使用python对git进行了封装。
内核源码
AOSP源码中不包含内核源码,需要单独下载。
- common 通用的 linux内核源码
- msm 用于高通 MSM芯片的 linux内核源码
- goldfish 是用于安卓虚拟机的 linux内核源码
编译AOSP 能做什么
- 定制 Android 系统
- 将 Android 系统 刷入设备
- 将整个系统源码导入到 Android Studio 中
- 动态调试 Android 系统源码
其中第三条和第四条也可以不用编译源码来实现, 第三条
- 只要有对应 Android 源码版本的 android.iml 和 android.ipr 两个文件就可以将源码导入到 Android Studio 中
第四条
- 动态调试系统源码不一定非要导入整个系统源码进行调试。关于第三条和第四条的具体内容,我会在以后的内容中进行讲解。
编译系统概述
了解以下一些概念,会对 Android 编译系统有大概的了解。 Makefile Android 平台的编译系统,其实就是用 Makefile 写出来的一个独立项目。它定义了编译的规则,实现了 “自动化编译”,不仅把分散在数百个 Git 库中的代码整合起来、统一编译, 而且还把产物分门别类地输出到一个目录,打包成手机 ROM,还可以生成应用开发时所使用的 SDK、NDK 等。 因此,采用 Makefile 编写的编译系统