Ubuntu 11.04下编译Android源码全过程

 

一、获取Android源代码 

(以下安装文件如果不存在,建议更换/etc/source.list中的源)

 sudo apt-get install git-core curl

这条命令会从互联网的软件仓库中安装git-core和curl。

其中curl是一个利用URL语法在命令行方式下工作的文件传输工具,它支持很多协议,包括FTP、FTPS、HTTP、HTTPS、TELENT等,我们需要安装它从网络上获取Repo脚本文件。

 

curl http://android.git.kernel.org/repo >~/bin/repo

这句命令会下载repo脚本文件到当前主目录的/bin目录下,并保存在文件repo中。

 

最后我们需要给repo文件可执行权限

chmod a+x ~/bin/repo

 

接下来我们就可以利用repo脚本和Git、curl软件获取Android的源代码了:)

 

首先建一个目录,比如~/android,进入~/android目录

然后使用下面命令获取源码:

 

repo init –u git://android.git.kernel.org/platform/manifest.git

这个过程会持续大概1个小时左右或者更短,下载完毕后会看到repo initialized in ***/android这样的提示。

这时,通过ls -al 命令可以看到一些隐藏文件。

   

本文直接使用

repo sync

命令直接同步全部项目到本地。

这个过程用时较长,因为我是无人值守操作的,时间长短视网络速度而定。

 

二、源码编译

全部同步完毕后,进入到Android目录下,使用make命令编译,你会发现出现错误。

具体错误提示,依据你已安装的Ubuntu下的开发环境而定。

  

依次安装如下软件,如果已经安装,它会自动跳过。

sudo apt-get install zlib1g-dev 

sudo apt-get install flex

sudo apt-get install bison

sudo apt-get install gperf

sudo apt-get install libsdl-dev

sudo apt-get install libesd0-dev

sudo apt-get install libncurses5-dev

sudo apt-get install libx11-dev

 

以上软件全部安装完毕后,运行make命令再次编译Android源码。

 

如果你本机上没有安装JDK,make时依然会报错。

可以从sun官方网站下载jdk-6u16-linux-i586.bin文件并安装它,但由于当天从sun网站下载过慢,我使用了“新得立”的软件安装工具,安装了default-jdk来代替。

配置JAVA_HOME和PATH环境变量,这里我将其全部添加在/etc/profile中尾部,然后source /etc/profile,如下:

 

 JAVA_HOME=/usr/local/src/jdk_XXX

PATH=$PATH:$JAVA_HOME/bin:/usr/local/src/android-sdk-linux_x86-XXX/tools:~/bin

 

可以通过echo $JAVA_HOME 和echo $PATH进行测试,使用java -version得到提示,参照如下则成功:

 

java version "XXXX"

Java(TM) SE Runtime Environment (build XXX)

Java HotSpot(TM) Client VM (build XXX, mixed mode, sharing)

 

以上解决后,用make编译完整个项目后:

(如果你make的目录为~/android的话) 在 ./out/target/product/generic/下,会有几个需要的镜像文件,如下:

 

system.img

ramdisk.img
userdata.img

三、源码运行

 

在编译完整个项目后,如果我们需要观看编译后的运行效果,那么就需要在系统中安装模拟器android-sdk-linux_x86-XXX,这个SDK的下载地址为(可能以后会改变,只是提供参考):

 

http://developer.android.com/sdk/index.html (又被墙了,打不开,windows、linux、mac都在这)

 

本人解压到/usr/local/src/下,把/usr/local/src/android-sdk-linux_x86-XXX/tools目录加入系统变量PATH中。

  

同时,添加PATH

PATH=$PATH:$HOME/android/out/host/linux-x86/bin

my $HOME is /home/xxx/ 

 

接下来我们需要把android的镜像文件加载到emulator中,使得emulator可以看到android运行的实际效果,需要添加系统变量ANDROID_PRODUCT_OUT:

 

ANDROID_PRODUCT_OUT=$HOME/android/out/target/product/generic
export ANDROID_PRODUCT_OUT

 

 

然后source it。

 

下面就可以进入到模拟器目录中并启动模拟器

 

cd $HOME/android/out/target/product/generic
emulator -image system.img -data userdata.img -ramdisk ramdisk.img

 

本人使用VMBOX虚拟机,Ubuntu 11.04,16GB虚拟硬盘,512MB内存分配。

宿主机配置 2GB内存,2,33GHz Intel Core2 Duo CPU

 

参考: CSDN

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值