android源码之前我都是通过百度云网盘下载别人上传的源码,好处就是下载速度快,下载的源码压缩过,方便拷贝存储;但是也有缺点,拿到的代码不是第一手资料,不知道里面有没有经过别人修改过。所以我还是想试一下直接从android网站下载源码,只不过android网站貌似被墙了,上网搜了一下,原来清华大学做了代码库的镜像,对于不能*的人来说简直是福音。
一、下载 repo 工具:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
由于~/bin目录不是linux的系统目录,以后每次要下载新的源码都需要执行
PATH=~/bin:$PATH
这样有点麻烦,其实可以把repo执行文件下载到/usr/bin/目录下
curl https://storage.googleapis.com/git-repo-downloads/repo > /usr/bin/
二、修改repo脚本文件中的下载源为清华大学下载源地址
REPO_URL='https://gerrit-google.tuna.tsinghua.edu.cn/android/git-repo'
三、建立一个android源码存放的目录
mkdir android_source
cd android_source
该目录的空间最好预留大一点的空间,50G左右最好。
三、执行repo初始化的命令
最后一个参数“android-2.3.1_r1”是android源码的版本号,具体版本可以上android官网查询:查询网址:https://source.android.com/source/build-numbers#source-code-tags-and-buildsrepo init -u https://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-2.3.1_r1
四、同步源码树(以后只需执行这条命令来同步):
repo sync
如果遇到网络不通的情况需要重新输入该命令,也可以写一个断网自动连接的脚本自动完成。
repo sync脚本(在源码目录下建立脚本:vi down.sh):
#!/bin/sh
repo sync -j16
while [ $? -ne 0 ]
do
repo sync -j16
done
执行下载命令:sh down.sh即可同步源码
Fetching projects: 100% (486/486), done.
参考资料:
1.清华软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
3.android版本号的官网:https://source.android.com/source/build-numbers#source-code-tags-and-builds