AOSP源码下载
1、获取源码
阅读Android源码能够从系统框架层面更加深入理解底层实现,而且无疑是对代码阅读能力的提升锻炼。推荐国内AOSP源码网站在线阅读:Android源码在线阅读。
1.1、Google仓库
Google官方的Android 源码站点在国内都打不开,需要“科学上网”。
https://android.googlesource.com/
https://source.android.google.cn/
1.2、国内镜像仓库
官方渠道不能访问,只能通过镜像下载。以前在学校的时候就经常从校园网镜像网站下载开源软件、Linux系统的发行版。会定期会同步Google的AOSP(Android Open-Source Project)仓库。
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/
https://lug.ustc.edu.cn/wiki/mirrors/help/aosp
http://mirrors.ustc.edu.cn/aosp-monthly/
2、下载源码
第一次同步数据量特别大,如果网络不稳定,中间失败就要从头再来了(下载到99%的时候重新下载,是非常奔溃的o(≧口≦)o)。
| aosp-20200201.tar | 66.9 GiB | 2020-02-01 00:47 |
| aosp-20200201.tar.md5 | 52 B | 2020-02-01 00:50 |
| aosp-20200301.tar | 69.3 GiB | 2020-03-01 01:09 |
| aosp-20200301.tar.md5 | 52 B | 2020-03-01 01:12 |
| aosp-latest.tar | 69.3 GiB | 2020-03-01 01:09 |
| aosp-latest.tar.md5 | 52 B | 2020-03-01 01:12 |
2.1、下载源码压缩包
从上面镜像网站中找到AOSP的打包源码,当前最新的是2020年3月1号发布的源码仓,大小接近70G。
wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包建议使用下载工具进行下载,支持断点续传,电脑硬盘够就挂着慢慢下载吧!

2.2、解压
下载完毕之后解压:
tar xf aosp-latest.tar或者用360压缩解压,从大学时代一直用到现在最好用的压缩工具。

2.3、repo源码
解压完,根目录并没有任何分支和代码。
# 进入解压得到的 AOSP 工程目录
cd AOSP
# 这时 ls 什么也看不到,因为只有一个隐藏的 .repo 目录打开git查看发现是裸仓库, 之所以叫裸仓库是因为这个仓库只保存git历史提交的版本信息,不允许用户进行任何git操作。如果操作的话,只会得到下面的错误”This operation must be run in a work tree”。

那么如何将下载的70G代码提出来呢?用命令 repo sync 把代码checkout 出来。
repo sync # 正常同步一遍即可得到完整目录
# 或 repo sync -l 仅checkout代码关于repo命令,因为不会经常使用,就不必多花时间去了解。

