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

Ubuntu下建立android源码及其内核开发环境

2013-03-31 22:48 661 查看
从android 官方源码网站:www.source.android.com取得关于配置信息如下:

磁盘: 6GB以上剩余空间

linux系统:Ubuntu 8.04以上

git工具: Git 1.54以上

java环境: JDK5.0 update12以上版本

python : python 2.4以上版本

依赖工具: flex ,bison,gperf,libsdl-dev,libsd0-dev,libwxgtk2.6-dev,build-essential,zip,curl

调试工具: valgrind

步骤一:环境配置

(1)安装jdk1.5,在终端执行命令:sudo apt-get install sun-java5-jdk

就会有这个提示:

[html] view
plaincopyprint?

root@hens-desktop:~# sudo apt-get install java5-jdk

Reading package lists... Done

Building dependency tree

Reading state information... Done

E: Couldn't find package java5-jdk

根据网上所说尝试了很多方法都没有成功,直到使用如下步骤:

步骤a.

先用java –version检查JDK是否
配置正确,Android 要求的 jdk 1.5,而Ubuntu10.4的源里只有JDK1.6. 如果安装了jdk1.6请先卸载:

$sudo apt-get remove remove openjdk-6-jdk

$sudo apt-get remove remove openjdk-6-jre

$sudo apt-get remove remove openjdk-6-jre-headless
步骤b.安装JDK1.5

1) 根据官方文档里所说,源代码的编译必须使用JDK5才能编译的了,所以这里偶使用jdk5

  2) 需要先更新源,在终端里执行 sudo vim /etc/apt/sources.list

  3) 在source.list里把以下2行拷贝到文档最后面:   

deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse

deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse

deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

    保存退出。

其实对于我们china地区来说,使用如下源(ubuntu 8.04 LTS)会更快[luther.gliethttp]

deb http://ubuntu.cn99.com/ubuntu/ hardy multiverse

deb-src http://ubuntu.cn99.com/ubuntu/ hardy multiverse

deb http://ubuntu.cn99.com/ubuntu/ hardy-updates multiverse

deb-src http://ubuntu.cn99.com/ubuntu/ hardy-updates multiverse
4) 执行 sudo apt-get update 更新源.

  5) 配置编译环境并下载JDK5:sudo apt-get install sun-java5-jdk

在安装过程中会出现如下配置界面



进行ok配置

(2)安装其他必备组件

sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

(3)在终端中执行:sudo gedit ~/.bashrc

修改.bashrc文件,添加下面语句:

JAVA_HOME="/usr/lib/jvm/java-1.5.0-sun"

JRE_HOME="$JAVA_HOME/jre"

export JAVA_HOME

export JRE_HOME

PATH="$JAVA_HOME/bin:$PATH"

export PATH

CLASSPATH=".:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"

export CLASSPATH


(4)安装

调试工具。在Ubuntu上执行以下命令:

USER-NAME@MACHINE-NAME:~$ sudo apt-get install valgrind

步骤二. 下载Android源代码工程。

上一节已经准备好了Android源码开发环境(确保所准备环境无误),这节阐述从Android源代码服务器中获取Android源代码,由于Android源代码非常大。所以需要分两部分获取:分别是Android源代码和Android内核。

1.获取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 ..

cd Android

mkdir source

cd source

../bin/repo init -u https://android.googlesource.com/a/platform/manifest(完全下载)
../bin/repo
init -u https://android.googlesource.com/a/platform/manifest -b android-4.0.1_r1(指定下载某一部分)


如果返回:如果返回"fatal: git 1.7.2 or later required",则执行如下,更新git :

sudo apt-get install python-software-properties

sudo apt-get-repository ppa:git-core/ppa

sudo apt-get update

sudo apt-get install git

3)之后要求输入用户名和邮箱,可随机输入。完成之后如果出现"repo initialized in ......"则表示初始化完毕

4) 在终端输入:../bin/repo sync开始下载。下载完成后就得到了Android源代码,这部分只是Android源代码不包括Android内核部分。

如果不能在主线版本下载,请从:http://d.zhu.im/Android/网站下载
步骤三:获取android内核源码

Android 内核不会随Android下载,如果不需要对Android内核进行修改和移植,可以不需要此部分内容可以从Android模拟器中提取这分部内容的镜像(针对goldfish而言),我们这里需要关注.android的kernel有多个部分,可根据需要运行以下命令下载需要的内容。

首先在上述Android/source目录下面新建kernel目录,然后 在git的console窗口中执行以下命令即可下载内核,下载Android内核会比Android源代码快很多,需要注意的是下载不能被中断。下载完成后存放Android源代码的目录也许看不到任何内容,那是因为下载的文件是隐藏的。需要显示隐藏文件才能看见,下载之后也可以通过du -sk或者du-sm命令检测文件夹的大小:

$ git clone https://android.googlesource.com/kernel/common.git //这个是linux内核,也可以是git clone http://android.git.kernel.org/kernel/common,网上许多地方介绍的命令是git clone git://android.git.kernel.org/kernel/common,但现在似乎是不能用了。

$ 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



3、checkout出对应的内核

进入samsung目录

$git branch -a //列出所有可用的内核版本

显示如下:



$git checkout remotes/origin/android-samsung-3.0-ics-mr1 //checkout出想要使用的内核



完成后再回到samsung目录,就看见久违的Linux内核源代码了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: