一直在从事android的自动化测试框架的编写。慢慢的也对android底层的架构开始感兴趣,心血来潮打算研究下android系统底层的架构,所以玩玩android源码的下载。
本人之前对Linux不是很了解,知道的比较少。这篇文章也是在自己下载源码的工程中,一点一点的写出来的,其中参考了很多文章。在这篇文章中会一一列出出处的,供给大家思考和研究。我采用的方式是,在windows7下,用VMWare装Ubuntu10.10进行下载的。
一、准备工作
1.VMWare和Ubuntu10.10的下载
VMWare的下载地址很多,到网上一搜一大堆,这里就不给地址了。下面给一个Ubuntu10.10的下载地址。
http://www.cnbeta.com/articles/124063.htm
下载好镜像文件后,在VMWare中就可以创建虚拟机 了。这里我们创建好的Ubuntu虚拟机,还是有点问题的,具体的问题我们在后面再说。输入你创建Ubuntu时的密码后进入Ubuntu。
2.安装JDK
对于安装jdk有两种方法,一种是直接用命令
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" $ sudo apt-get update $ sudo apt-get install sun-java6-jdk
代码中的$时Ubuntu中的提示符,不要将这个符号一起拷贝到终端中。
然而这种方法不适合初学中,再加上后面的配置环境变量什么的,就会给绕晕的。所以这里推荐采用手动的方法,进行安装,然后配置环境变量。下面推荐一篇适合初学者手动安装及设置环境变量的文章
http://weixiaolu.iteye.com/blog/1401786
该文章唯一不足的就是没有给出jdk的下载地址,你可能会说到网上一搜就有了。其实不然,网上很多时候搜索到的都是tar.gz格式的而且大都是1.7的安装方面会有不同,而这些不同对初学者来说是致命的。
经过我的搜索,找到了一个和上面链接中说的格式很像的一个jdk官方的下载地址
http://www.oracle.com/technetwork/java/javase/downloads/jdk6u38-downloads-1877406.html
要注意的是,文件名是不同的,所以在配置环境变量的时候一定要注意把名字改过来。否则会安装失败的。
二、初始化下载环境
1.ubuntu所在的盘剩余的容量要尽可能的大,最少也要6-10G,这还只是下载,若是编译的话会在20G左右。
2.安装git
在桌面状态下按快捷键ALT+CTRL+T进入到终端,输入下面的命令
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev \ libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown \ libxml2-utils xsltproc
执行这个命令之前最好,先执行下这个命令
$sudo apt-get update
来更新能够可用的源,执行之后如果还是提示404错误,说明你的/etc/apt/sources.list文件里面的源不正确,而这个ubuntu10.10里面大部分都会有这个问题。可以将/etc/apt/sources.list里面的源用下面的源来替换,来解决这个问题
deb http://ubuntu.srt.cn/ubuntu/ natty main universe restricted multiverse deb-src http://ubuntu.srt.cn/ubuntu/ natty main universe restricted multiverse deb http://ubuntu.srt.cn/ubuntu/ natty-security universe main multiverse restricted deb-src http://ubuntu.srt.cn/ubuntu/ natty-security universe main multiverse restricted deb http://ubuntu.srt.cn/ubuntu/ natty-updates universe main multiverse restricted deb http://ubuntu.srt.cn/ubuntu/ natty-proposed universe main multiverse restricted deb-src http://ubuntu.srt.cn/ubuntu/ natty-proposed universe main multiverse restricted deb http://ubuntu.srt.cn/ubuntu/ natty-backports universe main multiverse restricted deb-src http://ubuntu.srt.cn/ubuntu/ natty-backports universe main multiverse restricted deb-src http://ubuntu.srt.cn/ubuntu/ natty-updates universe main multiverse restricted
这里可以在终端输入下面的命令来编辑/etc/apt/sources.list这个文件
$sudo gedit /etc/apt/sources.list
输入这个命令后,会源文件会以一个类似于记事本的形式打开,进入到图形化的编辑界面,这时把里面的源用我上面给的源替换下就可以了。做这个替换动作之前记得备份下sources.list文件一面出现差错。
输入下面的命令看是否安装成功
$git --version
若是出现了git的版本号说明安装成功了。
3.安装及初始化repo
(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)创建android源码存放的路径,并进入到该路径中
$mkdir Android $cd Android
(4)初始化repo
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
三、下载android源码
1.执行下面的命令下载源码
$repo sync
2.下载的时间会很漫长,而且中间可能会出现断开。我的现在已经断开三次了,悲剧。所以慢慢的下载吧。
中间如果断开了,就再执行下第一步就可以了。下载完成之后,将继续进行编译,敬请期待。
参考文章:
(1)http://www.cnblogs.com/and_he/archive/2012/01/04/2312027.html
在此,对该博主表示深深的感谢。里面的方法很好用,不像某些不负责任的作者直接的转载他人的博文,都不加验证以至于有些时候转发的都是错误的。对此种人表示鄙视。
(2)官方文档
http://source.android.com/source/initializing.html
如果下载repo的时候失败,可能 是 官方修改了repo的存放地址,可以在下面的地址中寻找最新 的repo下载地址
http://source.android.com/source/downloading.html
(3)有关sources.list中源的列表
http://blog.csdn.net/fly542/article/details/6758342
(4)ubuntu中jdk的配置
http://weixiaolu.iteye.com/blog/1401786