您的位置:首页 > 移动开发 > Android开发

建立编译android源码的环境

2011-10-12 13:10 288 查看
最近下载了android的源码进行学习,记录下近来的收获。

首先为编译android建立环境,我的环境是64位的Mint 9(一个基于Ubuntu10.04的发行版), cpu AMD 4核羿龙,内存2G DDR3。为准备编译android,需要准备好Python 2.4 -- 2.7(这个已经安装好,无需安装),JDK以及Git

1、下载安装JDK

如果你想编译android2.3或更新的版本,需要安装JDK6,否则安装JDK5。

安装JDK6

$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk

安装JDK5

$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse"
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse"
$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk


2、下载安装其他需要的包

$ 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

3、下载repo

在你的home目录下建立一个bin目录,用于存放repo

$ mkdir ~/bin
$ PATH=~/bin:$PATH
由于linux kernel的网站遭到攻击,连带google的代码无法按照以前的方法下载,repo也无法按照google官方方法来下载,可从http://code.google.com/p/git-repo/downloads/list下载repo,目前最新版本是1.13版本,下载后移到~/bin下,并将相应路径加入PATH的环境变量

$mv repo-1.13 ~/bin/repo
$chmod a+x ~/bin/repo


4、下载android源码
创建一个空的目录,用以存放android源码,这里命名为android

$ mkdir android
$ cd android

正如前面所说,google官方的代码暂时无法下载,只能从第三方下载,目前我从以下两个渠道获取android代码:cyanogenmod和linaro,cyanogenmod是android有名的第三方rom制作团队,linaro是一个非盈利性组织,由arm联合几大业界巨头成立,个人认为应值得关注。

从cyanogenmod获取android2.3的代码:
$repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
$repo sync -j16
从linaro获取代码:
$repo init -u git://android.git.linaro.org/platform/manifest.git -b linaro-android-11.09-release -m default.xml --repo-url=git://android.git.linaro.org/tools/repo.git
$repo sync -j16


repo的参数和用法以后再做讲解,或者用repo help来查看帮助,代码很大,下载要多久就看你的网络情况了。repo管理了很多个以git来进行版本控制的project,对于单个project来说下载是不续传的,意思就是如果一个project下载完了,由于某些原因打断,下一次下载会接着从下一个project开始,但是在一个project下载过程中打断了,该project就要重新开始下载。

参考:
http://source.android.com/source/downloading.html https://wiki.linaro.org/Platform/Android/AndroidOnPanda http://wiki.cyanogenmod.com/wiki/ZTE_Blade:_Compile_CyanogenMod_(Linux)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: