下面的表格是搭建Android源码编译环境所需要的环境,基于 Ubuntu 系统,需要安装一些软件包。

安装包功能描述
git-coreAndroid采用git作为版本管理工具
gnupg加密签名软件
flex词法分析器
bison语法分析器
gperf散列函数生成器
build-essential编译工具集
zliblg,zip压缩和解压缩的库
curl文件传输工具
libc6-devGUN的嵌入式C库
libncurses5-dev图形函数库,配置Kernel时候,运行make menuconfig时会用到
x11proto-core-devX11无线协议相关工具
libx11-devX11Client端库
libreadline6-dev命令行操作相关库
libg11-mesa-devOpenGL相关库
tofrodos不同平台(Windows和Linux)之间文件格式转换工具
python-markdownMarkdown的Python实现,用于text-to-html的转换
libxml2-utilsXML工具集
xsltprocXSLT解析器

了解这些包的详细作用,访问 http://packages.ubuntu.com/

下载Android上层系统源代码

Android用**repo**和**git**管理源代码。Git是一个开放源码的分布式版本管理软件,与SVN和CVS这些集中式版本管理软件有很大不同。集中式版本管理软件多个客户端共享一个仓库(repository),而在git这样的分布式版本管理软件中,每个客户端都包含一个完整仓库,客户端可以离线操作,本地提交可以以后再提交到服务器。

Android的Git库组成有:

  • kernel

  • dalvik

  • bionic

  • prebuild

  • frameworks

Android项目提供了一个名为`repo的Python脚本`来统一管理这些git仓库。

Android源码分为上层系统源码和Kernel两个部分。Kernel部分需要单独下载。

在上层系统源码部分,可以分模块单独下载源代码,只需要将项目模块名指定给repo sync即可。

Kernel部分没有采用repo来管理源代码,所有可以通过git工具直接下载。

git clone https://android.googlesource.com/kernel/common.git