在下载Android源码时遇到一些坑,在此记录一下。
1、在下载Android源码之前首先需要安装Git,因为源码的下载需要使用repo,而repo是基于git基础开发,便于git资源管理的一个工具,所以在安装repo之前我们先要安装git,安装Git之后不要忘记设置如下参数:
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
2、Git安装好之后,下载repo,在这里有一个问题就是国内无法访问Google的内容,而repo是谷歌自己开发的所以也是无法访问及下载的,本以为使用翻墙软件就可以下载了,结果我还是太年轻失败了,repo官方地址:https://android.googlesource.com/tools/repo/,国内的话建议使用清华源镜像,地址:https://mirrors.tuna.tsinghua.edu.cn/help/git-repo/,下面说下具体步骤:
1)、在用户主目录新建一个bin目录(也就是打开终端后默认的路径);
mkdir ~/bin
2)、将bin目录加入系统路径中;
PATH=~/bin:$PATH
3)、下载repo;
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo
4)、赋予repo以执行权限;
chmod a+x ~/bin/repo
3、这时会在bin目录下会生成一个名为repo的文件,我在这里就遇到一个坑,看别人的教程下一步都是直接进行命令行下载源码,起初我也是这么执行的但是,总是提示连接https://gerrit.googlesource.com/git-repo失败的错误,这个时候我们就很懵逼了,我并没有设置这个网址并且我使用的是https://mirrors.tuna.tsinghua.edu.cn/git/git-repo这个啊,所以这里还需要多做一步修改。
打开上面创建的repo文件或者使用命令行:sudo vim ~/bin/repo进行修改,打开后我们发现,默认的repo文件的下载源是googlesource.com,然而这个网址是在墙外的无法访问,因此我们就要把下载源代码的地址改为国内的,修改repo文件中的REPO_URL 内容如下:
REPO_URL = 'https://aosp.tuna.tsinghua.edu.cn/git-repo'
然后保存修改。
4、经过上面三步之后就可以进行源码的下载了;
1)、创建存放源码的目录并进入该目录下;
mkdir ~/AOSP && cd ~/AOSP
当然这个路径也可以不用命令行创建,这个目录可以创建在你想存放源码的任何位置,但是不知道中文文件名路径会不会有影响,建议使用英文,并且如果想下载多个版本的源码建议针对各个版本在新建一个文件夹。
2)、在终端进入上面新建的文件夹目录,然后执行下面命令进行下载源码,使用的是国内镜像;
~/bin/repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r47
前面~/bin/repo是第二步中存放repo文件的路径,这个不能弄错,后面的android-9.0.0_r47是需要下载的Android的版本分支,你可以修改成你自己的,具体的分支可查看https://android.googlesource.com/platform/manifest/进行确认。
3)、执行后出现下面内容,如图:
就说明上面的命令执行成功了,之后就可以执行
~/bin/repo sync
如果想查看repo的其他相关命令,可以使用~/bin/repo help进行查看。
执行之后就开始进行源码的下载了,如果因为网络问题产生中断,再执行repo sync就可以了,需要注意的是源码很大,我下载的这个版本差不多100G,所以要提前留够硬盘空间,我这边下载成功后,提示如下图内容:
到此整个过程记录完毕了,如果有什么遗漏或错误的地方可以给我留言。
需要注意的是,不管你的源码放在哪个位置,如果在执行repo命令是提示找不到该命令,需要在repo前加上完整的下载路径,比如我的是~/bin目录下,所以所有的命令都是~/bin/repo替换repo。