一、准备阶段
俗话说:工欲善其事必先利其器,下面开始准备配置环境。本教程只推荐有一定Linux知识的同学参考,以下内容及描述均建立在上述问题的基础上,怎样安装系统及其他问题请google 或者百度。
OS:Ubuntu 10.04 有人说为什么不用 11.04,因为那个版本不是长期演进的版本。Google推荐使用10.04的版本,其他版本的Linux 也可以使用。
JDK:Java 1.6 (Ubuntu 取消了去Java jdk的支持,需要从其他地方下载)
提示:完整编译需要RAM/swap 8G 硬盘容量:大于12G;编译器和其他工具大约占用5G左右,系统占用大约3G左右。推荐预留20G以上;
Python: 2.4 -- 2.7,
Git: 1.5.4 或更新.
下载并安装ubuntu 10.04,更新系统到最新版本。安装完成后执行下列命令:
1.$ sudo passwd root 修改密码并开启root账户,然后切换系统到root账户。
2.$ sudo apt-get install g++ 编译源码的时候需要
3.$ sudo apt-get install git-core curl? 下面需要
4.$ sudo apt-get install zliblg-dev
5.$ sudo apt-get install flex
6.$ sudo apt-get install bison
7.$ sudo apt-get install gperf
8.$ sudo apt-get install libsdl-dev
9.$ sudo apt-get install libesd0-dev
10.$ sudo apt-get install libncurses5-dev
11.$ sudo apt-get install libx11-dev
安装Java JDK1.6
1.$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
2.$ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
3.$ sudo apt-get update
4.$ sudo apt-get install sun-java6-jdk
从Java JDK 1.5 升级到? JDK1.6
1.$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse"
2.$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse"
3.$ sudo apt-get update
4.$ sudo apt-get install sun-java5-jdk
安装其他所需工具软件
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
? zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
? x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
? libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
? libxml2-utils
二、下载源码
1、在home文件夹里创建bin文件夹
$ mkdir ~/bin
$ PATH=~/bin:$PATH
2、下载repo脚本并设置权限
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
3、创建工作目录
$ mkdir WORKING_DIRECTORY(你的工作目录例如:MyAndroid)
$ cd WORKING_DIRECTORY
4、运行repo 脚本程序
$ repo init -u https://android.googlesource.com/platform/manifest
5、也可以这样运行 repo脚本
$ repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.7_r1
这里需要一个google帐号 输入你的用户名和 邮箱地址
6、开始获取源码文件
$ repo sync 大约持续时间1小时或者更多,和网速有关系
7、验证 源码
$ 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-----
三、编译和测试
1、初始化
$ source build/envsetup.sh或者. build/envsetup.sh 第二句注意有个点
2、选择一个目标
$ lunch full-eng 这个命令是全部 其他命令请参考 http://source.android.com/source/building.html
3、构建代码
$ make -j4或 make
4、编译过程,大约持续2小时左右。
5、编译结束