Ubuntu10.10下编译Android2.2平台
2011年06月17日
Ubuntu10.10下编译Android2.2平台
田海立@CSDN 2011/06/17 环境:Ubuntu10.10 Android2.2.2_r1 android-gldfish-2.6.29
0 说明 Android2.2的platform和kernel是分别的项目,要分别下载编译。本文是Ubuntu10.10 环境下Android2.2.2_r1平台(包含SDK)的编译。 读者:希望深入Android底层开发者,如果只是ANDROID应用开发者,不用如此麻烦,直接下载现成的SDK以及其他相应工具即可。
一、环境准备
1.1. 安装Utunbu10.10
在写此文时,ubuntu已经有更新的安装包发布,笔者没有更新。
1.2. 工具下载安装
haili@haili-desktop:~$sudo apt-get install git-core curl
haili@haili-desktop:~$sudo apt-get install gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev build-essential zip libncurses5-dev zlib1g-dev
1.3. SUN jdk 5.0下载安装
android2.2要求用SUN JDK5,而ubuntu10.10里安装的是JDK6,需要重新安装5.0的jdk。用apt-get方法(1.3.1)简单易操作,可是笔者试着更新了很多源,但是都连接不上,所以用了直接下载安装的方法(1.3.2)。这里只是把apt-get的方法放在这里,并没有验证。
1.3.1 apt-get install暗转JDK5
1) 添加JDK5的更新源,打开source.list
haili@haili-desktop:~$sudo gedit /etc/apt/sources.list
2) 在source.list里把下面内容追加到文档最后面:
deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
保存退出。
3)更新源。
执行
haili@haili-desktop:~$sudo apt-get update
4)配置编译环境并下载JDK5:
haili@haili-desktop:~$sudo apt-get install sun-java5-jdk
1.3.2 官方网站下载JDK5安装
1) 官网http://java.sun.com/javase/downloads/5u22/jdk去下载jdk-1_5_0_22-linux-i586.bin,
2) 然后执行安装,
haili@haili-desktop:~$cd ~
haili@haili-desktop:~$chmod +x jdk-1_5_0_22-linux-i586.bin
haili@haili-desktop:~$./jdk-1_5_0_22-linux-i586.bin
执行之后,生成 ~/jdk1.5.0_22
3)JDK版本切换
安装了多个JDK的话,可以用update-alternatives设置版本,并进行切换选择使用哪个。
首先为JDK1.5版生成可选配置选项:
haili@haili-desktop:~$sudo update-alternatives install /usr/bin/jdk jdk ~/jdk1.5.0_22 255
说明:/usr/bin/jdk是符号链接,它指向/etc/alternatives/jdk(由第2个参数给出),~/jdk1.5.0_22(/home/haili/jdk1.5.0_22)是实际目的链接,255是优先级(任意整数,在自动模式时,数字大的优先级较高,被选为默认配置选项)。
4) 配置JAVA环境
执行:
haili@haili-desktop:~$sudo gedit ~/.bashrc
在文件的尾部追加:
export JAVA_HOME=/usr/bin/jdk
export JRE_HOME=JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
使更改生效。保存文件,执行
haili@haili-desktop:~$source ~/.bashrc
二、下载Android2.2 platform
下载Android Platform用git,Android用repo封装了git,用curl获取repo。工具git-core和curl在1.2中已经下载安装了。
2.1. 获取repo
haili@haili-desktop:~$cd ~
haili@haili-desktop:~$mkdir bin
haili@haili-desktop:~$curl http://android.git.kernel.org/repo >~/bin/repo
haili@haili-desktop:~$chmod a+x ~/bin/repo
2.2. 把~/bin路径加入到PATH
执行:
haili@haili-desktop:~$sudo gedit ~/.bashrc
在文件的尾部追加:
export PATH=$PATH:~/bin
执行
haili@haili-desktop:~$source ~/.bashrc
2.3 获取android-2.2.2.r1
可以到http://android.git.kernel.org,点击platform/manifest.git看当前的版本,笔者选择了当前2.2的最新版本android-2.2.2_r1。
下载android2.2.2_r1,执行
haili@haili-desktop:~$cd ~
haili@haili-desktop:~$mkdir android-2.2.2_r1
haili@haili-desktop:~$cd android-2.2.2_r1
haili@haili-desktop:~/android-2.2.2_r1$repo init -u git://android.git.kernel.org/platform/manifest.git b android-2.2.2_r1
haili@haili-desktop:~/android-2.2.2_r1$repo sync -j4
三、编译Android镜像
环境设置
haili@haili-desktop:~/android-2.2.2_r1$ source build/envsetup.sh
haili@haili-desktop:~/android-2.2.2_r1$ lunch
会提示选择
1. generic-eng
2. simulator
3. full_dream-userdebug
4. full_passion-userdebug
5. full_sapphire-userdebug
选择1,会显示当前的设置
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.2.2
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=FRG83G
编译,执行
haili@haili-desktop:~/android-2.2.2_r1$make j2
如果编译没什么问题,编译完成之后会生成镜像在目录~/android-2.2.2_r1/out/target/product/generic下:system.img,ramdisk.img,userdata.img。
四、编译Android SDK
刚才并没有编译SDK。要编译SDK,执行
haili@haili-desktop:~/android-2.2.2_r1$make sdk
生成
~/ android-2.2.2_r1/out/host/linux-x86/sdk/android-sd k_eng.haili_linux-x86.zip
~/ android-2.2.2_r1/out/host/linux-x86/sdk/android-sd k_eng.haili_linux-x86
加入路径,追加下面两行到~/.bashrc
export Android_SDK_HOME=~/ android-2.2.2_r1/out/host/linux-x86/sdk/android-sd k_eng.haili_linux-x86
export PATH=$Android_SDK_HOME/tools:$PATH 执行 haili@haili-desktop:~/android-2.2.2_r1$source ~/.bashrc 五、验证
创建AVD,执行
haili@haili-desktop:~/android-2.2.2_r1$android
在启动的Android SDK and AVD Manager中,创建AVD,取值如下,
Name: AVD_HVGA;
Target: Android 2.2.2 API Level 8;
SD Card: 1024M
Skin: HVGA
点击按钮Create AVD,创建出AVD_HVGA。
执行
haili@haili-desktop:~/android-2.2.2_r1$emulator avd AVD_HVGA
*** 欢迎转载,并请注明来自http://blog.csdn.net/thl789 ***
发表评论
-
下载并编译Android 2.3源码
2012-01-20 01:49 663下载并编译Android 2.3源码 2011年04月28日 ... -
Tour de Flex 移动开发的更新
2012-01-20 01:49 610Tour de Flex 移动开发的更新 2011年01 ... -
android中事件的处理以及应该注意的问题
2012-01-20 01:49 664android中事件的处理以及应该注意的问题 2010年12 ... -
flex api 中文在线
2012-01-20 01:49 734flex api 中文在线 2011年03月11日 用户 ... -
小学二年级操行评语1
2012-01-19 09:36 529小学二年级操行评语1 2 ... -
小学作文
2012-01-19 09:36 630小学作文 2010年06月02日 ... -
小学作文教学:走好习作第一步
2012-01-19 09:36 415小学作文教学:走好习作 ... -
如何提高小学生写作文的能力
2012-01-19 09:36 534如何提高小学生写作文 ... -
关于小学生作文
2012-01-19 09:36 580关于小学生作文 2010年1 ... -
(转)Microsoft Platform SDK Febrary 2003下载(更新VC6的SDK)
2012-01-17 02:11 692(转)Microsoft Platform SDK Febra ... -
[转]让Symbian SDK使用最新的GCCE进行编译
2012-01-17 02:11 600[转]让Symbian SDK使用最新 ... -
计算机二级笔记汇总
2012-01-17 02:11 590计算机二级笔记汇总 20 ... -
二级c1103
2012-01-17 02:11 519二级c1103 2011年09月08日 2011年3月计 ... -
mfc4
2012-01-15 21:44 840mfc4 2010年03月17日 V ... -
linux .o,.a,.so文件解析--1(2009-03-23 21:35:01)
2012-01-15 21:44 753linux .o,.a,.so文件解析--1(2009-03- ... -
BusyBox 简化嵌入式 Linux 系统 (转载)
2012-01-15 21:44 552BusyBox 简化嵌入式 Linux 系统 (转载) 20 ... -
flex4读书笔记03(转载)
2012-01-15 21:44 716flex4读书笔记03(转载) 2011年05月28日 ... -
AS3 Design Pattern: Simple Factory 模式
2012-01-15 21:44 523AS3 Design Pattern: Simple Fact ...
相关推荐
写了一份Ubuntu10.10上搭建Android2.2基于ARM的交叉编译环境的文档,供那些对搭建Android 2.2交叉编译环境的人还很陌生的人作为参考。 注:由于疏忽,请把本文档第6页的“(3)配置环境变量”这一项中的"export JRE...
Ubuntu10.10编译Linux内核 Ubuntu10.10编译Linux内核 Ubuntu10.10编译Linux内核
Ubuntu 10.10在2010年10月正式发布,让众多Ubuntu用户都对这款全新的系统充满期望。毕竟,Ubuntu 10.10是Canonical公司推出的最为用户友好的系统,而且为它添加了很多新的功能。 熟悉Ubuntu系统的用户了解,在...
Ubuntu10.10下kgdb环境搭建
用Ubuntu10.10 dvd版本作为本地源,Ubuntu 10.10 DVD ISO挂载的方式来更新软件,已经通过测试
Ubuntu10.10下tftp服务器配置笔记
Ubuntu10.10(64位)编译Android2.3源码 遇到的错误
Ubuntu10.10下嵌入式开发环境的配置
(支持osx 10.10 )Chameleon-2.2svn-r2380.pkg.zip
ubuntu10.10编译内核3.0.8实验报告
在U盘中安装Ubuntu 10.10的方法
windows_XP下安装Ubuntu10.10
ubuntu 10.10网络配置10步曲
U盘安装ubuntu10.10图文教程
Ubuntu 10.10的安装图解过程Ubuntu 10.10的安装图解过程
Ubuntu 10.10安装配置tftp服务.doc
ubuntu10.10安装配置全过程图文详解
经过个人实践,包括内核下载和安装gcc,make等工具的介绍,以及从内核的下载到编译到安装过程,不错的教程哦
Ubuntu 10.10下建立嵌入式初级开发环境
ubuntu10.10下安装Samba步骤,个人实践记载所得。