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
在安装过程中会出现如下配置界面
![](http://img.my.csdn.net/uploads/201304/06/1365218041_3131.png)
进行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
稍等片刻出现如下:
![](http://img.my.csdn.net/uploads/201304/06/1365232869_7380.PNG)
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
![](http://img.my.csdn.net/uploads/201304/08/1365430685_2666.png)
3、checkout出对应的内核
进入samsung目录
$git branch -a //列出所有可用的内核版本
显示如下:
![](http://img.my.csdn.net/uploads/201304/08/1365430764_2231.png)
$git checkout remotes/origin/android-samsung-3.0-ics-mr1 //checkout出想要使用的内核
![](http://img.my.csdn.net/uploads/201304/08/1365431109_2205.png)
完成后再回到samsung目录,就看见久违的Linux内核源代码了
磁盘: 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
在安装过程中会出现如下配置界面
![](http://img.my.csdn.net/uploads/201304/06/1365218041_3131.png)
进行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
![](http://img.my.csdn.net/uploads/201304/08/1365430685_2666.png)
3、checkout出对应的内核
进入samsung目录
$git branch -a //列出所有可用的内核版本
显示如下:
![](http://img.my.csdn.net/uploads/201304/08/1365430764_2231.png)
$git checkout remotes/origin/android-samsung-3.0-ics-mr1 //checkout出想要使用的内核
![](http://img.my.csdn.net/uploads/201304/08/1365431109_2205.png)
完成后再回到samsung目录,就看见久违的Linux内核源代码了
相关文章推荐
- Ubuntu下建立Android开发环境
- ubuntu 10.04 android 源码编译开发环境搭建
- Ubuntu下Android源码编译及Eclipse开发环境搭建
- Ubuntu 10.10从零开始建立android 2.2 froyo开发环境 之四
- ubuntu配置android开发环境和编译源码遇到的一些问题
- Ubuntu下Android源码编译及Eclipse开发环境搭建
- 在ubuntu中建立android开发环境
- Ubuntu10.04下搭建Android源码开发环境小结
- ubuntu下Android开发环境的搭建:eclipse+SDK详细安装教程+常见问题及其解决方案
- 从零开始搭建Ubuntu 环境下的Android 源码开发环境
- Android之ubuntu源码开发环境搭建笔记
- 建立Android源码开发环境
- 如何搭建android的开发环境 虚拟机和ubuntu的安装与建立编译条件
- ubuntu环境:下载、编译模拟器平台android内核源码
- 【指导]如何编译完整建立开发环境和编译Android 4.0.1 on Ubuntu 11.04 (64 bit)
- Ubuntu下建立Android开发环境
- 建立虚拟机ubuntu下基于eclipse的android开发环境
- Ubuntu 14.04.1 配置 Android 源码开发环境(jdk版本切换)(转载)
- Ubuntu下建立Android开发环境
- 【指导]如何编译完整建立开发环境和编译Android 4.0.1 on Ubuntu 11.04 (64 bit)