Mac上下载编译Android 6.0源代码详细教程
一、软件要求
1、 Mac OS v10.10 (Yosemite) 或以上,安装了 Xcode 4.5.2或以上,安装了Command Line Tools。
2、安装JDK 7。
3、安装了python 2.7(官方说2.6也可以,但是我使用过程中出现2.6不能编译6.0源代码)。
4、GNU Make 3.81或3.82
5、Git
二、创建镜像
因为Mac上的文件系统不能区分大小写,所以需要创建区分大小写的镜像。
利用磁盘工具来创建镜像,如下图:
打开磁盘工具后,选择一个盘(因为我自己的Mac盘空间有限,所以使用了外置的一定硬盘),
新建空白映像,
配置空白映像,
这里的大小最好设置70GB,如果仅仅是下载Android 6.0源代码文件大概需要15GB左右的空间,但是编译后的文件就占了40多G,后面还需要下载Android内核代码,也需要空间。
格式:选择OS X扩展(区分大小写,日志式),其他设置按照上图配置,点击存储之后在Mac多了一个镜像磁盘android_source。
在这创建镜像的工作已经完成了。
三、安装Repo
1、打开终端,输入以下命令,创建bin文件。
$ mkdir ~/bin
$ PATH=~/bin:$PATH
2、下载Repo
在终端中输入一下命令。
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
在文件夹bin下能看到Repo,如下图:
3、修改repo文件
使用Sublime Text打开repo文件,将REPO_URL = ‘https://gerrit.googlesource.com/git-repo’改成 REPO_URL = ‘https://gerrit-googlesource.lug.ustc.edu.cn/git-repo’,这样下载源码的速度会加快。
4、初始化Repo客户端
使用cd命令进入之前创建的映像路径下(即android_source下),创建工作空间目录,
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
5、配置账户
$ git config --global user.name "Your Name"
$ git config --global user.email "you@example.com"
这里的email,建议使用google的邮箱,没有的同学可以自己注册一个。
6、获取Android 6.0的版本分支号
Android 6.0有很多分支,需要选择其中一个分支,官网已经将开放出来的分支列表展现在官网上了。
查看地址
这里选择最新的分支来演示下载。
四、下载Android 6.0源代码
repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-6.0.1_r46
repo sync
如果看到下图所示,说明已经开始下载源码了
当看到如下图所示,则是将源代码下载完毕,并且开始checking out所有代码成功了,
Checking out代码后在WORKING_DIRECTORY中能看到源代码了,目录结构如下图所示
备注:在下载源代码的过程中可能会产生中断,那么可以在终端输入
repo sync
为了避免上面出现的问题可以使用一个脚本来执行,使用Sublime Text新建一个文件(名称为jkYishon.sh),在文件中输入以下代码
#!/bin/bash
#FileName jkYishon.sh
PATH=~/bin:$PATH
repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-6.0.1_r46
repo sync
while [ $? = 1 ]; do
echo "================sync failed, re-sync again ====="
sleep 3
repo sync
done
我们可以直接使用这个脚本来下载源码了。怎么执行这个脚本呢?
可以先将jkYishon.sh文件拷贝到WORKING_DIRECTORY目录下,在终端输入
./jkYishon.sh
即可开始下载源代码了。
五、编译源代码
首先在终端中进入WORKING_DIRECTORY路径下,执行
source build/envsetup.sh
再执行
make -j4
开始编译源代码,这个过程需要一个半小时左右,最后源代码编译成功,整个源代码的大小为40多G,那个.repo文件夹在编译之前可以删除(因为占用的空间比较大,下载完源代码后就没有很大用处了)。
六、在Android Studio中查看Android 6.0源代码
这里就不详细介绍了,大家可以去看另外一个博主的文章,查看地址。
备注:这个生成idegen.jar文件,一定先需要编译Android源代码,之后才能做博主所说的操作后生成这个jar文件。