一、开发环境和工具
在Linux环境中,开发Android主机环境包括以下需求:git工具,repo工具,Java的JDK,主机编译工具等。
在Ubuntu的主机上,通常需要安装以下的包:
1、安装JDK
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
2、安装其他需要的包
(1)推荐使用64位的Ubuntu10.04来安装相关的包(Ubuntu10.04)
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc
(2)Ubuntu10.10
$ sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
(3)Ubuntu11.10
$ sudo apt-get install libx11-dev:i386
(4)Ubuntu12.04
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev:i386 \
g++-multilib mingw32 openjdk-6-jdk tofrodos python-markdown \
libxml2-utils xsltproc zlib1g-dev:i386
二、获取android源代码
1、用户目录下创建一个文件夹来存放android目录中,在终端执行以下命令:
$mkdir android
$cd android
2、在android下创建bin目录,以执行其中的命令:
$mkdir bin
3、并将其加入到环境变量PATH中:
$PATH=~/android/bin:$PATH
4、进入bin目录,通过curl命令下载repo脚本:
$curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > repo
$chmod a+x repo
稍等片刻即可完成。
5、在Android目录下建立存放android源码的目录source,并初始化:
$cd
$cd android
$mkdir source
$cd source
$repo init -u https://android.googlesource.com/platform/manifest
该命令会下载所有的版本,也可以对以上命令加上参数来指定下载某一部分的源码,例如:
$repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.3_r1
如果之前的第
3
步略过了,这里需要将以上命令中的
“repo”
修改为
“../bin/repo”
以使终端可以识别
repo
命令。
6、之后会要求输入用户名和邮箱地址,可以随机输入。如果以后要向google递交bug,那么需要输入有效的google帐户。完成之后如果出现 “repo initialized in /home/taskiller/Android/source”,则表示初始化完成,可以开始下载源码了。7、还是在source目录下,输入命令 repo sync,下载源码。因为源码很大所以要下很久我的是平均1.5M/S的下载速度,不知道要多久。我出错就是在这个地方每次同步都是连接超时,一看到Connection timed out我就很不爽,搞了一天,原来是下载的manifest.xml文件有个地方没有地址原manifest.xml文件:
<remote name="aosp"
fetch=".."
review="https://android-review.googlesource.com/" />
修改后:
<remote name="aosp"
fetch="https://android-review.googlesource.com/"
review="https://android-review.googlesource.com/" />
manifest.xml文件应该知道在什么地方吧,什么?不知道?好吧,那我就说一下吧,如果你是按照我上面写的来创建文件夹的话,那就是在Android/source/.repo/下,.repo是隐藏文件,你可以用两种方法来来让它显示
方法一、使用命令ls -a显示隐藏文件
方法二、在桌面化操作时,在文件夹下,按下ctrl+h,即可显示隐藏文件
8、接下来下载内核的源码,首先在Android文件夹下创建kernel目录,之后进入到该目录中:
$ mkdir kernel
$ cd kernel
然后就可以用以下命令来下载:
$gitclone https://Android.googlesource.com/kernel/common.git
$gitclone https://Android.googlesource.com/kernel/goldfish.git
$gitclone https://Android.googlesource.com/kernel/msm.git
$gitclone https://Android.googlesource.com/kernel/omap.git
$gitclone https://Android.googlesource.com/kernel/samsung.git
$gitclone https://Android.googlesource.com/kernel/tegra.git
内核下载是可以和源码下载同时进行的。内核源码比完整源码小得多,需要的时间少一点。因为文件是默认为隐藏的,所以下载完之后可以通过 la -la 查看。
读者也可参考官方网站: http://source.android.com/source