最完整的android源码获取方法及环境建立

   网上看了前人的那么多关于android源码获取方法及环境建立,门路可真多,今天我就总结一下个人学习经验,算是比较完整的了。

一、获取方法:

1、直接找到人家已经下载好的android源码,如cupcake.tar.gz(估计有1G多,如果有必要再用repo sync更新)
2、自己动手从google那里下载(第一种方法往往找不到,因为我们是个体户) 

 

二、必要硬条件:

1、在VM虚拟机下安装好ubuntu(ubuntu8.04以上版本),而且最好分配30G空间给它(考虑到以后你要编译什么东东)
2、你虚拟机下的ubuntu要可以上网,网速最好能达到100KB/s以上的下载速度(一般家里2M的宽带可以达到) 

 

三、必要软条件

1、安装好ubuntu后,再安装VMtools,这个很用必要的。
2、ubuntu最好是以root的身份登录,因为不用sudo的话做什么都说没权限,不爽
   方法参见:《ubuntu -超级管理员root 登录》
http://blog.csdn.net/junglyfine/archive/2011/01/03/6113332.aspx

 

四、下载android前的准备
1、安装环境

(1)安装Python 2.4以上版本

 sudo apt-get install python2.5

 

(2)安装JDK5

 <1>官方的说法为:JDK 6 if you wish to build Gingerbread or newer; JDK 5 for Froyo or older.
以上是更新后的官方说法,之前不是这样说的。JDK6用在Froyo版本以下时,在make sdk会出现错误。知道这个情况,我们安装JDK5,因为我打算下载cupcake这个版本(关于android版本的问题请参见:《android版本及版本代号对照》http://blog.csdn.net/junglyfine/archive/2011/04/02/6299469.aspx)
<2>往往用:sudo apt-get install sun-java5-jdk 是下载不了的,以下提供两个方法
方法一:官方的方法(没验证过):
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper main multiverse"
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse"
sudo apt-get update
sudo apt-get install sun-java5-jdk
sudo update-java-alternatives -s java-1.5.0-sun
方法二:网上找的方法(验证OK):
请参见:《在Ubuntu 9.10 and 10.04 环境下安装sun-java5-jdk》http://blog.csdn.net/junglyfine/archive/2010/11/12/6004237.aspx

 

(3)安装Git 1.5.4 以上版本
方法一:sudo apt-get install git-core
方法二:从http://git-scm.com/下载最新的git源码包,如git-1.6.3.3.tar.bz2
#tar -xjf git-1.6.3.3.tar.bz2
#cd git-1.6.3.3
#./configure
#make;make install
# git --version
git version 1.6.3.3
两种方法我都试了一遍,不管你怎么搞,只要安装好就好了。


(4)安装其它环境
1)、按照官方的说法需要进行:
(更新后的说法)sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev

(之前的说法没记下来,建议用这个)sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

除了以上的环境,可选择安装:
sudo apt-get install valgrind

2)、在安装这些环境可能有些没找到,安装中断。这里解决方法有:
<1>对每一个单独进行sudo apt-get install xxx,记录下不能安装的
<2>改变ubuntu更新的源,即修改sudo gedit /etc/apt/sources.list
修改源请参见:《Ubuntu的source.lis》http://blog.csdn.net/junglyfine/archive/2011/01/02/6112498.aspx

3、总之,安装这些环境时有个原则就是:
<1>安装过的或者ubuntu本来就有的,,可能只是更新,再执行sudo apt-get install不会有什么影响
<2>能安装的尽量安装,宁多毋少,有些没安装的可能对编译是灾难性的

 

2、安装repo,并同步下载android源码(这里我用root登录,修改了一下官方的方法,个人认为比较好)

# curl http://android.git.kernel.org/repo > ~/bin/repo
# cp -f ~/bin/repo /bin/repo
# chmod a+x /bin/repo
# cd ~
# mkdir mydroid
# cd mydroid
# repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
# repo sync(同步下载android源码)

一些说明:
1)、repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake表示我只要同步下载cupcake这个版本的android源码,当然你也可以选择其它版本,如android 2.2 用repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo
2)、repo sync有时可能会出现一些错误而中断同步下载,网上建议说用脚本循环,这个我没试过,有时间可以试一下:
$?=1;
while [ $? -ne 0 ] ;
do  repo sync ;
done

3)、repo sync支持续传,所以不用担心多次重新下载。当所有源码下载完毕,repo sync可检查源码的完整性,也不用担心会重新下载。

4)、由于我用root登录,所以所有以上sudo可以不用

 

总结:其实对于每一个版本的ubuntu都可以写一个android源码获取及环境建立的执行脚本,这样对自己或很多菜鸟来说都是福音。我有时间可能会试一下。

 

至此,android源码获取完成。记住,现在已经下载了一下cupcake版本的android源码,很有必要用tar命令对这个源码目录进行压缩备份,以便不时之需。

 

后面,我将写一篇关于android源码编译的文章。

 

你可能感兴趣的:(最完整的android源码获取方法及环境建立)