现在的位置: 首页 > 综合 > 正文

Ubuntu 10.04环境下载&编译Android-2.2.1 (froyo) 源代码 1/2 分享

2013年10月15日 ⁄ 综合 ⁄ 共 3441字 ⁄ 字号 评论关闭

 

文章出处:http://mantocom.blog.sohu.com/161174208.html

 

1.


前言

本文叙述了如何从零开始搭建基于
Google
官方
Android 2.2.1

froyo

源码的开发环境,包括如何下载源代码、编译源代码,以及在模拟器中运行编译生成的镜像。文中开发机是基于
Ubuntu 10.04
的,同样适用于其他版本的
Ubuntu

现在需要弄清楚一下几点,防止后面出现误操作:


下载源代码是用参数:
repo init -u
git://android.git.kernel.org/platform/manifest.git  -b  froyo


(下载的是
2.2.1

版本,编译环境操作系统必须


32

位的,

jdk1.5

版本


---jdk1.5
没有
64
位版本)。如果是没有带参数的下载源代码,将会下载所有的源代码,编译环境要求:操作系统
64
位,
jdk1.6
,(偶是
2010

10

15

做)但很有可能会出现交叉编译工具错误:“

/bin/bash:
prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc:

没有那个文件或目录


”(实际上是有
arm-eabi-gcc
这个文件的,偶怀疑是版本问题
--32
位的,而环境要求是


64

位的

—--

下载全部代码

    2.

下载

JDK 1.5



(不建议此下载方式,防止配置环境参数出错。建议用


apt-get install

方式,请跳转到:第

4





编译
Android
源码需要
JDK1.5
版(主要是需要其中的
javadoc
),
1.6
版是

不兼容的。
JDK1.5
已经停止支持,其最

终的版本是
JDK 5.0 Update 22

可从
Sun
官网上下载:

http://java.sun.com/javase/downloads/5u22/jdk

选择平台
Linux
,勾选同意许可协议:

单击
Continue
,在弹出的页面中一共有两个下载,选第一个
jdk-1_5_0_22-linux-i586.bin
下载:


3.

部署

JDK
1.5

   3.1

解压缩

JDK

以下命令均在
root
账户上执行,非
root
账户执行某些命令可能需要加
sudo


jdk-1_5_0_22-linux-i586.bin
放在
root


录下。进入该目录:

cd ~

然后赋予该
bin
文件可执行属性:

chmod +x
jdk-1_5_0_22-linux-i586.bin

再执行安装
(
注意前面有
./)

./jdk-1_5_0_22-linux-i586.bin

跳过协议阅读。

最后一行:

Do you agree to the above
license terms? [yes or no]

键入
yes
,然后回车,开始解压。默认会解压到当前目录下的
jdk1.5.0_22
目录下(此处是
~/ jdk1.5.0_22
)。

3.2 JDK

版本切换

  如果同时需要使用
JDK1.6
版做应用开发,则系统中将同时存在
JDK1.5

JDK1.6


因此需要实现能够在不同版本间切换。如果不使用
JDK1.6
,请做完
1.5


的设置后跳至
3.3
节。

这里使用
update-alternatives
命令实现。

首先为
JDK1.5
版生成可选配置选项:

update-alternatives
--install /usr/bin/jdk jdk /root/jdk1.5.22 255

(sudo
update-alternatives --install /usr/bin/jdk jdk /home/ynb/jdk1.5.0_22 255)


/usr/bin/jdk
是符号链接,它指



/etc/alternatives/jdk
(由第
2
个参数

给出的),
/root/jdk1.5.22(/home/ynb/jdk1.5.0_22)



实际目的链接,
255
是优先级(任意整数,



automatic mode
自动模式


时,数字大的优先级较高,被选为默认配置选项)。

然后再为
JDK1.6
版生成(如果有

JDK1.6
的话。不使用
JDK1.6
的请跳至
3.3

):

update-alternatives
--install /usr/bin/jdk jdk /root/jdk1.6.20 0

这样,默认
jdk
版本即为
1.5
版。

需要切换到
1.6
版时,请使用
update-alternatives –config
jdk

  3.3

配置

JDK

环境变量

下面开始配置环境变量。

在终端中执行:
sudo
gedit ~/.bashrc

修改
.bashrc
文件,添加下面语句:

#set java environment

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

该段代码最好设置在文件的尾部。

保存文件。在终端中执行
source
~/.bashrc

重启系统请使用
java –version
检查
JDK
是否


配置正确。

4.



apt-get install

方式安装

JDK1.5



Android
要求的
jdk 1.5,

Ubuntu10.4
的源里只有
JDK1.6.
如果安装了

jdk1.6
请先卸载

$sudo 
apt-get  remove  remove openjdk-6-jdk

$sudo 
apt-get  remove  remove openjdk-6-jre

$sudo 
apt-get  remove  remove openjdk-6-jre-headless

 

安装
jdk1.5目前网上解决方法有两种:

 
 

解决方法一

(

建议

)



 安装
JDK1.5
  

 
1
根据官方文档里所说
,源代码的编译必须使用
JDK5才能编译的了,所以这里偶使用
jdk5
 
2
需要先更新源
,在终端里执行
sudo
vim /etc/apt/sources.list
 
3

source.list里把以下
2行拷贝到文档最后面:
   
 

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

   
  保存退出。

 
4
执行
sudo
apt-get update 更新源
.
 
5
配置编译环境并下载
JDK5
sudo apt-get
install sun-java5-jdk
 
 解决方法二:
 
安装
JDK 1.6
 , 修改
Android源文件。

 
1
安装
jdk 1.6,修改
<src_top/build/core/make.mk>(如果
2.0版本源码请修改
<src_top/build/core/main.mk>)
 
  在文件中搜索并分别把:

   
 
java_version := $(shell java -version 2>&1 | head -n 1 | grep '[
"]1.5[. "$$]')
   
 
javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[
"]1.5[. "$$]')
 
  两行改成:

   
 
java_version := $(shell java -version 2>&1 | head -n 1 | grep '[
"]1.6[. "$$]')
   
 
javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[
"]1.6[. "$$]')
 
  即可。

 
 

推荐使用第一种解决方法。


5

.

安装其他必备组件

在终端上,使用下面的命令安装:
(
前面的
1

2

3
步骤都可以省略啦
)

sudo
apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev
libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

因为
JDK1.5
在前面已经单独安装过了,因此此处
apt-get install
命令行中没有加入
sun-java5-jdk

抱歉!评论已关闭.