首页 > 技术文章 > 最近一次Android源码编译过程

moqi2013 2013-10-21 13:44 原文

系统:ubuntu12.04 32位

!!!!注意:

1,不要使用64位ubuntu

2,务必分配4g或者以上的swap空间

一,源码下载

谷歌搜索download android source code,第一个结果就是官方文档(http://source.android.com/source/downloading.html)教你怎么下载源码,大概步骤如下:

 

1,在当前用户的home目录下创建一个文件夹来保存一写可执行文件,并把该文件夹加到环境变量中;

mkdir ~/bin

PATH=~/bin:$PATH

2,安装curl,安装git,下载Repo;

sudo apt-get install curl

sudo apt-get install git

如果要使用代理:

curl -x 127.0.0.1:8087 http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

不使用代理:

curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

当然还要让repo具有可执行权限:

chmod a+x ~/bin/repo

3,创建一个文件夹来存储Android源码

mkdir WORKING_DIRECTORY

cd WORKING_DIRECTORY

4,初始化仓库信息,并设置要下载的版本

repo init -u https://android.googlesource.com/platform/manifest

repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

PS:repo设置代理的方式:

export HTTP_PROXY=127.0.0.1:8087

export HTTPS_PROXY=127.0.0.1:8087

5,同步Android源码

repo sync

PS:同步过程中如果中断不用担心,使用repo sync可以继续同步,同步过程中同步内容是隐藏的,到源码同步目录按Ctrl+h可以查看隐藏内容;我下载的是android-4.0.1_r1大概有11g多,用了差不多十个小时;电信20M+代理大概3个小时下载完成

二,编译环境的配置

编译过程值得注意的就是使用32位系统以及保证充足的内存空间!!!

Android编译需要非常多的依赖,这里列出我编译时用到的依赖以及一些问题

1,安装基本依赖支持

 sudo apt-get install build-essential make libc6-dev
 
 sudo apt-get install bison patch texinfo libncurses-dev

 sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip
 sudo apt-get install gnupg  ncurses-dev zlib1g-dev valgrind


2,jdk的安装

由于甲骨文收购了sun公司,然后把google告了所以Android的jdk平台最多只能达到1.6也就是jdk6,所以用jdk7是不行的,如果android版本比较低可能还需要使用jdk5,这里简绍使用jdk6;

(1),谷歌搜索jdk-6u45-linux-i586.bin下载jdk6安装包(甲骨文官方没有找到)

(2),把安装包拷贝到~/bin目录下

(3),赋予安装包执行权限

chmod a+x ~/bin/jdk-6u45-linux-i586.bin

(4),执行安装包

~/bin/jdk-6u45-linux-i586.bin

(5),执行完成后会在bin目录下生成jdk-1.60_45这个目录把这个目录下的bin目录配置到环境变量中

PATH=~/bin/jdk-1.60_45/bin:$PATH

执行java命令检查是否安装成功

3,gcc和g++的安装

由于ubuntu自带的g++和gcc版本过高,所以无法正常的编译源码,这里需要安装4.4.6版本

(1),移除自带的gcc和g++

sudo apt-get remove gcc

sudo apt-get remove g++

(2),安装4.4版本的gcc和g++

 sudo apt-get install gcc-4.4
 sudo apt-get install g++-4.4

(3),为4.4版本的gcc和g++建立连接

cd /usr/bin

sudo rm gcc

sudo rm g++

sudo rm cc

sudo ln gcc-4.4 gcc

sudo ln gcc-4.4 cc

sudo ln g++-4.4 g++

三,源码编译

cd ~/bin/WORKING_DIRECTORY

(-j4是指定线程数量,如果电脑性能好可以写成-j8什么的)

make -j4

下载与编译过程到此结束!

 

 

 

 

推荐阅读