想成为一位合格的Android程序员或者一位Android高级工程师是十分有必要知道Android的框架层的工作原理,要知道其工作原理那么就需要阅读Android的源代码。 想要阅读Android的源代码最爽的方式的肯定是自己亲手下载编译。为什么要阅读Android源代码? 第一,面试加分项。第二,知其原理写出的代码差不到那里。第三,学习深度。正所谓,知其然知其所以然。下面记录我基于7.1.1系统源码下载到刷机的过程。
基本概念
- AOSP : 就是Android Open Source Project也就是谷歌开放源代码项目。 通过Google官方下载的源代码也就是AOSP的代码,是不包含Google开发的全家桶的应用。
ps: 这个作为一个Android程序员肯定要知道的一个专业词,不然显得你很Low,很不专业。 - Repo : Repo 是一款工具,可让您在 Android 环境中更轻松地使用 Git,换句话来说Repo是用来管理Git管理的每个仓库。详情定义请点击here.
准备
- 编译系统:UbuntuKylin 16.04 LTS。
- 手机:Nexus 6。
- 驱动:Nexus 6驱动。
- Android系统:Android 7.1.1。
注:从Android官网上是否有支持该手机的系统源代码和驱动程序。
搭建编译环境
1.安装 JDK
如果 Ubuntu >= 15.04,则可以运行以下命令进行安装OpenJDK,这里使用的是OpenJDK. 之前准备使用Ubuntu LTS 14.04版本编译,但是安装OpenJDK有点麻烦所以放弃使用Ubuntu LTS 14.04。
sudo apt-get update
sudo apt-get install openjdk-8-jdk
如果你不是编译Android 7.1.1系统源码,那么可以参考图中的Android版本所对应的JDK版本进行安装。
2.主要软件包
- Python : Python 2.6 - 2.7.
- Git : Git 1.7 或更高版本.
下载源代码
我这里下载的Google官方的AOSP, 下载官方的需要科学上网并且保证你的网络稳定。具体在清华大学开源软件镜像站的AOSP,可以参考这里的设置here。
- 安装 Repo
1 . 确保主目录下有一个 bin/ 目录,并且该目录包含在路径中:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
2 . 下载 Repo 工具,并确保它可执行:
$ curl https:/