小枫客栈

淡泊以明志,宁静以致远!

« Ubuntu 10.04 下载编译Android 源码的过程Ubuntu 12.04 LTS ISO 下载 »

Ubuntu 10.04 下Android 环境搭建及源码下载和编译测试 版本2.0

Android 环境搭建及源码下载和编译测试 版本2.0

声明:以下内容均建立在笔者的立场和知识范围写的,假设您已经了解相关的知识并能熟练使用Linux系统。笔者会尽量按照Google给出的日志,但不保证适用性。有什么问题请Google或百度一下,本人仅供参考;如使用其他系统操作,请查阅相关资料!请尊重别人的劳动,转载请标明出处!
关于编译时候的问题,现有的源码并不支持最新的编译器。JDK采用 SUN 的 JDK 1.6 ,最新的不一定是最合适的。编译的时候可能会出现很多警告,这是由于编译器版本不对造成的。站在程序员的角度,警告可以忽略的!当然错误是不可容忍的,所以我尽量给出编译器和所需工具的版本。
一、 配置环境
1. 各种需求
磁盘:建议您为Linux准备大于20G的磁盘空间,并采用硬盘安装。虚拟机下需要8G RAM/SWAP 及12G磁盘空间来存放源码
OS:Ubuntu 10.04
源代码:大约2.6GB 完整编译大约需要10GB左右
Python:2.4 - 2.7您可以从python.org下载。
JDK:JDK1.6或JDK1.5您可以下载来自java.sun.com 。
GCC: Ubuntu 10.04 自带的即可,不同版本的android源码需求GCC版本有些差异,有可能需要降级详情请查阅相关资料。
Git: 1.5.4 或更新版本。 你可以在这里找到它的git - scm.com 。
2. 下载Ubuntu 10.04(推荐64位) 并安装Ubuntu 10.04。
下载地址:http://mirror.sov.uk.goscomb.net/ubuntu-releases//lucid/ubuntu-10.04.3-desktop-amd64.iso
亦可以去www.ubuntu.com官网下载最新版。
3. 安装JDK
Gingerbread及后续版本需要JDK1.6 (请注意区别)采用默认下载的源码,安装JDK1.6即可
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk (请注意区别)
Froyo及以前版本的源码需要JDK1.5
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse"
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse"
$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk
4. 安装python
$ apt-get install python
5. 安装所需的软件包
$ sudo apt-get install
$ sudo apt-get git-core
$ sudo apt-get gnupg
$ sudo apt-get flex
$ sudo apt-get bison
$ sudo apt-get gperf
$ sudo apt-get build-essential

$ sudo apt-get zip
$ sudo apt-get curl
$ sudo apt-get zlib1g-dev
$ sudo apt-get libc6-dev
$ sudo apt-get lib32ncurses5-dev
$ sudo apt-get ia32-libs

$ sudo apt-get x11proto-core-dev
$ sudo apt-get libx11-dev
$ sudo apt-get lib32readline5-dev
$ sudo apt-get lib32z-dev

$ sudo apt-get libgl1-mesa-dev
$ sudo apt-get g++-multilib
$ sudo apt-get mingw32
$ sudo apt-get tofrodos
$ sudo apt-get python-markdown
$ sudo apt-get 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
如果下载并检查其他分支请使用 -b 指定版本号,例如:
$ repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.7_r1

这里会让你输入用户名和邮箱地址,输入后 回车 一路y即可
5. 下载源码
$ repo sync   源码大约2.6G,可能需要持续一段时间。请耐心等待!
6. 验证Git标签
GnuPG密钥数据库装入以下的公共密钥。关键是用来表示版本的注释的标签标志。
$ gpg --import
复制并粘贴下面的键(S),然后输入EOF(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-----

导入密钥后,您可以验证任何标记
$ git tag -v TAG_NAME
三、 编译源码
1. 初始化与环境envsetup.sh envsetup.sh脚本。
$ source build/envsetup.sh

$ . build/envsetup.sh
2. 选择一个目标
$ lunch full-eng
详细请参考http://source.android.com/source/building.html
3. 编译代码
构建一切make 。使用GNU make -jN参数可以处理与并行任务,和它的共同使用的任务数,N的1至2倍的构建正在使用的计算机的硬件线程数。例如,一个E5520双机(2个CPU,每个CPU的4个核心,每核心2线程),最快的构建与make -j16 make -j32 J16 make -j32使J32。
$ make -j4  这个过程可能会持续很长时间请耐心等待,第一次构建完成后以后构建会快一些!
四、 测试系统
1. 编译完成后您可以使用模拟器模式您所编译的系统
$ emulator

 

******************************************************
*版本:V2.0                                          *
*作者:小枫                                          *
*日期:2011-11-3                                     *
*出处:www.xiaofeng.org                               *
*声明:转载或修改请标明出处及作者                    *
******************************************************
由于笔者时间仓促水平有限,难免会出现一些问题和错误。我会在闲暇时更新这个文章,敬请关注我的网站!如有问题请联系 fylzbsc@163.com ,请在邮箱的标题处注明原因!
 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Copyright © 2006 - 2012 Xiaofeng. All Rights Reserved.
豫ICP备07012919号