最近需要编译安卓系统,咨询了一个编译过安卓系统的朋友,说是下载源码就得下载两天,于是做好了长期抗战的准备,开始了下载安卓源码的旅程。在刚开始下载时,可以参照的内容只有官方教程,于是跟着官方教程一步一步走,遇到问题就百度谷歌,结果发现自己因为经验不足走了很多弯路,写下这篇教程是为了让以后打算下载安卓源码的朋友提供一些建议和思路。本篇教程会不断更新,力求弥补其他教程的不足并覆盖所有问题,希望大家看完本教程后可以一次性下载成功!
同时,也欢迎大家将遇到的问题以及解决方案告诉我,一起完善这个教程。
配置虚拟机
首先是搭建下载源码的环境,官方推荐是使用64位的Ubuntu,版本是12.04。如果使用Mac OSX的话,编译的时候还需要解决大小写问题,所以建议使用Ubuntu系统。另外由于之后还要编译源码,进行各种配置,所以建议配置一个虚拟机。本人使用的是Mac OSX Mountain Lion 10.8.5系统,VMware 5.03,使用的Ubuntu镜像是ubuntu-12.04-desktop-amd64.iso。
安装完VMware之后,下载好Ubuntu之后就可以开始配置虚拟机了,由于之后还要编译安卓系统,建议大家配置虚拟机磁盘空间为200G,内存为2G(最好是2G或以上,本人曾经用1G结果各种问题),CPU核数为2核(核数多的话之后的编译速度会快很多)。
注意:
1.VMware默认为动态分配磁盘空间,所以不一定在创建的时候就要有200G的磁盘空间,但由于之后编译安卓源码需要占用很大空间(我编译完成后源码目录是35G),所以请大家预留足够的空间。
2.虽然VMware支持动态增加磁盘空间,但请一次性分配200G,避免之后空间不够用。本人第一次下载源码的时候就只分配了20G,结果下载到一半提示空间不足。关闭虚拟机扩展磁盘空间之后,开机就再也无法进入系统了,只能通过新建虚拟机再挂载的形式恢复数据,所以请大家谨记。
3.由于下载或者编译源码中间可能会与外部系统有交互,方便起见,建议大家安装VMware Tools,可以自由复制以及进行文件共享。
配置下载源码环境
- Python 2.6 -- 2.7, which you can download from python.org.
- GNU Make 3.81 -- 3.82, which you can download from gnu.org,
- JDK 6 if you wish to build Gingerbread or newer; JDK 5 for Froyo or older. You can download both fromjava.sun.com.
- Git 1.7 or newer. You can find it at git-scm.com.
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
但是按照该步骤可能会报错如下:
Package sun-java6-jdk is not available, but is referred to by another package.
This may mean that the package is missing, has been obsole