Android_7.1.1_r6源码下载

作为一名Android工程师,阅读Android源代码也是一门基本功,前段时间由于公司开发需要,便下载编译了Android_7.1.1_r6的源代码。在Windows下貌似是无法编译源代码的,为了以后方便使用,我在实体机上安装了Ubuntu 16.04,从固态分了100G作为Linux系统盘,再分出200G机械挂载在/home目录下,使用Open JDK8进行了编译,现做出如下记录。

官网地址: http://source.android.com/source/downloading.html

如果只是下载单独的项目可以到GitHub:https://github.com/android

如果只是查看代码又不想下载,还有一个去处:http://androidxref.com/

在安装完Ubuntu以后,按照以下步骤下载Android源代码:

Goole官方教程传送门:https://source.android.com/source/downloading.html

  1. 下载Git(版本控制工具).
    sudo apt-get install git
  2. 安装curl(上传和下载数据工具).
    sudo apt-get install curl
  3. 安装repo(一个基于git的版本库管理工具, 这里用于自动批量下载android整个项目)
    ① 先创建一个目录,用于存放repo命令(官网和各种资料使用如下方式,而我则喜欢将其创建为隐藏文件,强迫症,没得治)
    mkdir ~/bin
    ② 下载repo工具,至创建的文件夹
    curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    如果上述 URL 不可访问,可以用下面的:
    curl https://storage-googleapis.proxy.ustclug.org/git-repo-downloads/repo > ~/bin/repo
    ③ 修改repo权限,使其具有可执行权限
    chmod a+x ~/bin/repo
    ④ 把repo临时添加到环境变量中(如果重启Ubuntu需要重新添加,也可直接在配置文件中修改)
    export PATH=~/bin:$PATH

  4. 创建文件夹
    ① 创建目录,用于存放Android源码(名字任意)
    mkdir ~/Android_7.1.1_r6
    ② 修改文件夹权限为Android_7.1.1_r6
    chmod 777 ~/Android_7.1.1_r6
    ③ 进入创建好的文件夹
    cd ~/Android_7.1.1_r6

  5. 初始化库
    ① 需要先配置git的用户信息(也就是用户邮箱和姓名)
    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"
    ② 执行repo初始化仓库
    repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest
    如果提示无法连接到 gerrit.googlesource.com,可以编辑 ~/bin/repo,把 REPO_URL 一行替换成下面的:
    REPO_URL = 'https://gerrit-googlesource.proxy.ustclug.org/git-repo'
    ③ 如果初始化成功,则出现以下提示:
    repo initialized in /home/<username>/source
    注:如果需要下载某个特定Android,则使用-b指定,命令如下:
    repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-7.1.1_r6
    Android版本列表(需要可以访问Google)

  6. 同步源码树(以后只需执行这条命令来同步):.
    repo sync
    注: repo支持断点续传,如果意外断开连接,最后下载完成可再执行一次repo sync,以对下载代码进行校验

    整个过程耗时根据网络情况而定,在我5~8M/s的网速下也下载了好几个小时。
    最终下载得到android_7.1.1_r6源代码,加上中间生成的.repo文件夹内容,总计63G,.repo文件夹占据42G,相减即得源代码大约为21G。关于.repo删不删的问题,如果代码需要同步,更新,那么就留着,如果不需要,那么就可以删掉。
    Android Source

以上参考自科大源AOSP镜像下载help撰写而成,如果访问不到Google改用的访问地址也是科大源的,另外清华源也可以下载源代码。特别说明:科大源建议使用git同步,清华源只能够通过HTTP协议同步。

附上科大源地址:https://lug.ustc.edu.cn/wiki/mirrors/help/aosp
附上清华源地址:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/

Donate comment here