1 开始 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 http://archive.canonical.com/ 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="
另外,重复操作上述三条指令还不够,因为有时候下载某个节点一旦出现错误,重复上述三条指令还是会错误,终端如下提示: admin@wp ~/android # ../bin/repo sync Fetching projects:93% (154/165)fatal: Not a git repository: '/home/你的用户名/WORKING_DIRECTORY/.repo/projects/packages/wallpapers/LivePicker.git' error: Cannot fetch platform/packages/wallpapers/LivePicker 这个时候你就必须手动删除这个 LivePicker.git文件夹了,即: rm -rf /home/你的用户名/WORKING_DIRECTORY/.repo/projects/packages/wallpapers/LivePicker.git 然后再重复上述三条指令即可,如此,就可以完成源码下载了。
下载结束如下图所示:
2.3 验证Git Tags
$gpg --import
然后复制下面的内容,粘贴到终端,再按CTRL+D
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV
lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7
8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD
u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z
wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq
/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5
jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4
MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9
b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv
aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k
cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI
2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl
QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up
hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk
C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX
LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+
OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M
pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s
KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb
N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA
vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo
G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ
hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l
EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM=
=Wi5D
-----END PGP PUBLIC KEY BLOCK-----
OK,下载完了,查看一下你的WORKING_DIRECTORY目录,下面就是Android4.0的源文件了. 关于如何在Ubuntu11.10下编译Android4.0源码,请参考我的另一篇文章: http://blog.csdn.net/flydream0/article/details/7046612 注: 默认下载Android4.0源码内是不包含内核源码的,如果要下载内核源码的话,请看我博客内另一篇文章: http://blog.csdn.net/flydream0/article/details/7070392
