简介
本文记录Mac环境下载Android-7.1.1_r13源码全过程,并将其上传至腾讯微云盘,嫌下载麻烦的可以直接从云盘进行下载.文中默认已安装好了JDK、Git、curl等基础环境。
安装REPO
在用户空间下新建bin
文件夹:
mkdir ~/bin
然后将其添加到.bash_profile
里:
PATH=~/bin:$PATH
然后运行以下命令下载repo
:
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
备注:此处完全可以把repo下载后挪到/usr/local/bin/
下,这样就可以不用改PATH了,也不用新建什么bin文件夹了。
穿墙
下载源码前显然你必须能翻墙,我使用的是socks5代理+privoxy的方案,具体来说socks5可以到外面。然后运行privoxy将socks5代理转为http代理,之后在环境变量里(zsh对应.zshrc
文件,一般的设到.bash_profile即可)设置如下:
export http_proxy=http://127.0.0.1:8118
export https_proxy=http://127.0.0.1:8118
另外一种方案是改hosts代理,这个请自行百度.
下载源码
新建一个文件夹Android_Source
,在此处下载源码,没有必要像此处说的新建分区.
在https://source.android.com/source/build-numbers.html#source-code-tags-and-builds查看各种分支和tag,我们下载最新的branch:android-7.1.1_r13
.
在目的目录下执行:
repo init -u https://android.googlesource.com/platform/manifest -b android-7.1.1_r13
之后可以通过repo sync
进行下载,但是最好新建一个脚本download.sh
如下:
#!/bin/bash
echo "======start repo sync======"
repo sync
while [ $? == 1 ]; do
echo "======sync failed, re-sync again======"
sleep 3
repo sync
done
上面这个脚本的作用是中间因网络异常断了的情况下,休眠三毫秒然后自动repo sync.不过用文中的穿墙方案不用考虑这个网络问题。
云盘下载
源码下载后总共55G左右,其中的.repo
文件夹34G,也就是说纯源码在21G左右,纯源码已打包上传至微云。需要的可以点击下载.
链接:微云下载,密码:EF3LEy