第四章 下载AOSP
由于安卓工程源代码文件个数十分庞大,笔者建议用户使用清华大学-Android镜像使用帮助里边提到的使用每月更新的初始化包的方法进行下载。
第一步,你需要创建一个文件夹来存放AOSP的源代码。
第二步,打开命令行,切换到AOSP源代码准备存放的目录,输入命令
wget https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar
等待第二步执行完成,一般需要消耗8个小时左右的时间;如果中途下载过程被打断,只需要在wget后加上-c参数,和上边的地址即可断点续传。
第三步,解压压缩包,输入命令,这一步大概需要半个小时的时间。
tar xfv aosp-latest.tar
第四步,准备repo工具,输入以下命令
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
第五步,使用repo工具更新和释放AOSP源代码
切换到aosp目录,输入命令
repo sync
理想情况下,执行完该命令后,安卓全部的源代码就会出现在aosp目录下了,但是由于网络状况等其他因素的影响,该命令需要执行多次才可以更新和释放全部的源代码。
这里要注意一下,repo获取源码时会更新自己,因此需要设置更新源,保证其从国内网址更新,具体做法如下:
更新repo的运行过程中会尝试访问官方的git源更新自己,如果想使用tuna的镜像源进行更新,可以将如下内容复制到你的~/.bashrc里export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
为了方便起见,我建议将以下内容,保存成文件,放在aosp的父目录,并给与执行权限,然后执行此脚本,我挂了一个晚上,第二天起来就看到同步好了。
echo "Let's Get AOSP Now! "
cd aosp
echo "Step into aosp dir"
repo sync
while [ $? == 1 ]; do
echo "Repo Sync Fail,Try Again Later."
sleep 100
repo sync
done