我所用的电脑是windows7系统,由于Android是基于linux操作系统的,所以最好用linux系统来阅读、编译Android源码。
1.下载vmware虚拟机
2.下载linux镜像文件(我使用的是Ubuntu16系统)
3.新建虚拟机(注意由于Android源码较大,6.0的源码大约是三十多个G,还要加上系统大小以及安装一些别的软件,所以分配的磁盘空间务必大一些,我是分配100G)
4.科学上网,我是从官网上下载的Android源码,具体参考官网:https://source.android.com/setup/build/downloading(注意:虚拟机也要设置代理),如果不翻墙,应该也可以,但需要从国内的一些网站上找资源哦
5.下载curl和git工具:
apt-get install curl git-core
6.下载repo工具:
mkdir ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
7.配置repo环境变量,并确保其可用
PATH=~/bin:$PATH
chmod a+x ~/bin/repo
8.创建并打开Android源码存放目录,例如我是放在/home/usr/android_src下:
cd /home/usr/
mkdir android_src
cd android_src
9.配置git账户
git config --global user.name "xxx"
git config --global user.email "xxx"
10.使用repo初始化mainifest文件,获取Android源码各个版本和路径清单
repo init -u https://android.googlesource.com/platform/manifest
11.选择并切换至一个Android版本
repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.0_r1
12.开始同步到本地
这里需要特别注意,由于Android源码较大,下载需要较长时间,下载过程中很容易出现中断的情况,因此,我们需要一个自动续传的脚本工具来下载,不要执行repo sync -j4,(-jn,n是指派的线程数,但不是越大越好哦,一般是cpu内核数的2倍,我的cpu是双核,所以就是-j4)我们换做一个自动化脚本,当检测到指令中断以后自动续传。
echo "======start repo sync======"
repo sync -j4
while [ $? = 1 ]; do
echo "======sync failed, re-sync again======"
sleep 3
repo sync -j4
done
比如脚本名称auto_reposync.sh ,把它放在Android源码存放目录后
1)确保其可执行
chmod a+x /home/usr/android_src/auto_reposync.sh
2 )执行脚本
./auto_reposync.sh
等待下载结束吧。下篇文章来聊一下关于如何编译Android源码。