欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

如何下载Android源码(AOSP)查看

程序员文章站 2022-07-09 16:43:12
Android源码阅读的好处有很多,可以加深我们对系统的了解,可以从根本上找出一些bug的原因,可以参考优雅的代码实现庆幸Android是开源的,所有的功能都可以看到实现。Android源码即AOSP(Android Open Source Project) ,有些人可能还不知道如何下载AOSP,先来看官网上的一段话下载源码我们至少要保证100G以上的磁盘空间,构建的话 建议150到200,用服务器下载的小伙伴 看下自己的磁盘空间哦不然会如何下载AOSP官方文档:.....

Android源码阅读的好处有很多,可以加深我们对系统的了解,可以从根本上找出一些bug的原因,可以参考优雅的代码实现

庆幸Android是开源的,所有的功能都可以看到实现。

Android源码即AOSP(Android Open Source Project) ,有些人可能还不知道如何下载AOSP,先来看官网上的一段话

如何下载Android源码(AOSP)查看


下载源码我们至少要保证100G以上的磁盘空间,构建的话 建议150到200,用服务器下载的小伙伴 看下自己的磁盘空间哦

不然会

如何下载Android源码(AOSP)查看


如何下载AOSP

官方文档:https://source.android.com/source/downloading

只要按照上面一步步做就可以了,但是由于需要*,国内无法直接访问,而整个Android项目源码巨大,

即便是*后下载也很慢,所以还是使用国内镜像比较好。

这里推荐 清华大学开源软件镜像站 https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/


过程摘录

下载 repo 工具:

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo 

或者使用tuna的git-repo镜像

使用每月更新的初始化包

由于首次同步需要下载约 30GB 数据,过程中任何网络故障都可能造成同步失败,我们强烈建议您使用初始化包进行初始化。

下载 https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar,下载完成后记得根据 checksum.txt 的内容校验一下。

由于所有代码都是从隐藏的 .repo 目录中 checkout 出来的,所以我们只保留了 .repo 目录,下载后解压 再 repo sync 一遍即可得到完整的目录。

使用方法如下:

wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包
tar xf aosp-latest.tar
cd AOSP   # 解压得到的 AOSP 工程目录
# 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录
repo sync # 正常同步一遍即可得到完整目录
# 或 repo sync -l 仅checkout代码 

此后,每次只需运行 repo sync 即可保持同步。 我们强烈建议您保持每天同步,并尽量选择凌晨等低峰时间

传统初始化方法

建立工作目录:

mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY 

初始化仓库:

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest 

如果提示无法连接到 gerrit.googlesource.com,请参照git-repo的帮助页面的更新一节。

如果需要某个特定的 Android 版本:

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-4.0.1_r1 

同步源码树(以后只需执行这条命令来同步):

repo sync

按需下载

比如我们要下载platform/frameworks/base/目录下的代码,我们可以clone

https://aosp.tuna.tsinghua.edu.cn/platform/frameworks/base,如果你带宽够的话,一般几分钟就可以下载好你想要的单个源码了。

比如常用的

系统设置

https://aosp.tuna.tsinghua.edu.cn/platform/packages/apps/Settings

系统桌面

https://aosp.tuna.tsinghua.edu.cn/platform/packages/apps/Launcher2