1.1 初始化构建环境
这节主要是描述如何设置你的本地工作环境,怎么使用repo这个工具获取Android文件,怎么创建你机器上的文件。使用Linux或Mac Os才能构建Android源文件,Windows目前不支持.注:源文件有6G大小。构建时,你需要25G空间来完成单独构建,而完整构建时需要80G空间。
1.2 设置Linux构建环境
注:在虚拟机内构建Android也是可以的。如果那样的话,那么你至少需要16G内存或交换分区和30G以上的磁盘空间。
一般来说你需要以下工具:
Python 2.4 -- 2.7, 你可从这下载python.org.
JDK 6 (Gingerbread 或更新版本), JDK 5 (Froyo 或更老版本.) 这些你都可以从 java.sun.com下载.
Git 1.7 或更新版本. 你可以git-scm.com下载.
1.2.1 安装JDK
Sun JDK不再包含在Ubuntu的服务器上了,如果你要下载,你需要添加源和指明那个版本是你想要下载的.
安装Java6的方法:
$ sudo add-apt-repository "deb lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
1.2.2 安装需要的包
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev \
libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown \
libxml2-utils
执行如下指令:
$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
1.3 配置USB
在GNU/linux系统下,默认情况下,正常用户不能访问USB设备,而此时需要配置其可以访问.建议方法是在目录/etc/udev/rules.d/下以root权限创建一个51-android.rules文件:
$sudo gedit /etc/udev/rules.d/51-android.rules
然后将以下的内容复制并保存,注:需要将字符串username替换成你的用户名,即开机登陆时你的用户名.
# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
# fastboot protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
# adb protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
# fastboot protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"
# adb protocol on maguro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="<username>"
# fastboot protocol on maguro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="<username>"
# adb protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="<username>"
# fastboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="<username>"
这样配置完成只有重新插入USB才会生效.
2 下载源文件
2.1 下载源文件树
2.1.1 安装repo
Repo是Android的源码管理工具,以下步骤是安装,初始化,配置repo.
第一步:要主目录下新建一个bin文件夹,并将其设置为环境参数PATH内.
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
2.1.2 初如化repo客户端
第一步:在主目录上新建一个文件夹WORKING_DIRECTORY,然后进入这个路径.
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
第二步:清单库初始化
$ repo init -u https://android.googlesource.com/platform/manifest
这个命令会要求你输入你的用户名和邮箱
2.2 获取Android源文件
同步:
$ repo sync
接下来就是正式开始下载源码了,要很长时间才能下完,可以使用
$ repo sync -j10
来加快下载速度,即使用10个线程并行下载.
接下来就是等了,一直等到下载完,估计要两三天才能下完哦,要做好心理准备.
注:在下载过程中,在WORKING_DIRECTORY目录会自动生成一个隐藏的目录.repo,这个目录就是下载的内容,不过是隐藏的,用ls是看不见的.
如果在下载过程中出现错误的话,可再打开另一个终端,输入以下命令:
$ PATH=~/bin:$PATH
$ repo init -u https://android.googlesource.com/platform/manifest