一准备工作
首先你在自己的电脑上要安装好Ubuntu,然后进行下面的工作,你只需要复制+粘贴就行了
1、安装Git工具。Android源代码采用Git工具来管理,与SVN相比,这是一种分布式的源代码管理工具,而SVN是集中式的源代码管理工具。要安装Git工具,在Ubuntu上执行以下命令即可:
USER-NAME@MACHINE-NAME:~$ sudo apt-get install git-core gnupg
2、安装Java SDK。在Ubuntu上执行以下命令:
USER-NAME@MACHINE-NAME:~$ sudo add-apt-repository ppa:ferramroberto/java
USER-NAME@MACHINE-NAME:~$ sudo apt-get update
USER-NAME@MACHINE-NAME:~$ sudo apt-get install sun-java6-jre sun-java6-plugin
USER-NAME@MACHINE-NAME:~$ sudo apt-get install sun-java6-jdk
顺便提一句,在上面第三步sudo apt-get install sun-java6-jre sun-java6-plugin时,会弹出一个对话框,这时按Tab键来切换焦点,然后按回车就行。
3、依赖的其它包。在Ubuntu上执行以下命令:
USER-NAME@MACHINE-NAME:~$ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl
此处是安装了很多软件,直接将命令复制粘贴
4、调试工具。在Ubuntu上执行以下命令:
USER-NAME@MACHINE-NAME:~$ sudo apt-get install valgrind
二、源代码的下载
有很多网站都提供了源代码的下载,但是有一些镜像是不能用了,此处给出官方参考网站,如果本地的内容也不能用了时,请参考官网:
http://source.android.com/source/downloading.html
获取Android源代码
1、在当前目录下新建一个目录用来存放我们的Android目录,
mkdir Android
cd Android
mkdir bin
cd bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > repo
2、建立存放Android源代码的目录source,并初始化版本
sudo chmod a+x repo
cd ..
mkdir source
cd source
../bin/repo repo init -u https://android.googlesource.com/platform/manifest
如果想要下载android4.0的分支请用命令:
../bin/repo repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
转换分支用 -b 参数。同时注意,bin和source同时位于Android目录下,是平行结构
3、之后要求输入用户名和地址,可随机输入,也可输入自己的账户
4、同步代码
../bin/repo sync
注意:此时同步代码会非常慢,可能需要几天的时间。同步时可能会出现请求连接失败,在此执行这个命令就行,这个工程文件支持断点续传。
三、Android内核下载
Anroid内核在使用命令../bin/repo sync时并不会被一起下载。如果你不需要对Android内核进行修改和移植,可以不需要这部分内容,可以从Android模拟器中提取这部分内容的镜像
在Android目录下新建一个存放内核的目录kernel,然后执行下面命令
$ git clone https://android.googlesource.com/kernel/common.git
$ git clone https://android.googlesource.com/kernel/goldfish.git
$ git clone https://android.googlesource.com/kernel/msm.git
$ git clone https://android.googlesource.com/kernel/omap.git
$ git clone https://android.googlesource.com/kernel/samsung.git
$ git clone https://android.googlesource.com/kernel/tegra.git
编译:
1、存放源代码的目录下执行 make 命令。主要是执行makefile这个文件,编译一些东西。
在官方发布的版本中,基本功能都已经包含在makefile文件中。如果需要增加其它功能,可以修改build/target/product/下面对应的 .mk 文件。
在编译完成后,会在Android/source目录下生成一个out目录,生成的所有的文件都放在该目录下。如果想修改生成文件的目录,参考.build/buildspec.mk.default 文件中是说明和选项。
2、编译SDK
进入存放源代码的目录,执行命令
make PRODUCT-sdk-sdk
注意 为了避免在搭建环境时编译的 SDK 无效,建议第一次不要直接使用make sdk命令,而使用上述命令。
编译生成的SDK存放在out/host/linux-x86/sdk/目录下。此目录下有android-sdk_eng.xxx_linux-x86.zip和android-sdk_eng.xxx_linux-x86两个目录,android-sdk_eng.xxx_linux-x86就是我们需要的使用的SDK,建议大家备份,马上将到的编译ADT,可能会清除SDK。
3、编译ADT
配置环境
编译ADT应该首先确保自己系统中安装了Eclipse,否则无法编译。建议大家让ADT编译过程中自己下载合适的Eclipse版本。以减少错误发生,但这需要root权限。
在放源代码的目录下执行下面命令:
sdk/eclipse/scripts/build_server.sh home/Ubuntu/Android/source/adt
之后运行Android系统就OK了。