标签:
这一部分主要介绍了下载和编译Android源代码和Linux内核源代码,以及如何搭建这两种开发环境。
一.下载、编译和测试Android源代码
(1)配置Android源代码下载环境
1.创建一个用于存放下载脚本文件(repo)的目录(可将该脚本文件一放到任何目录中,在这里使用~/bin)
#mkdir ~/bin
#PATH=~/bin:$PATH
2.下载repo脚本文件(用于下载Android源代码)
#curl https://dl-ssl.google.com/dl/googlesourse/git-repo/repo > ~/bin/repo
#chmod a+x ~/bin/repo
3.创建用于存放Android源代码的目录(可放在其他目录中)
#mkdir android_source
#cd android_source
4.初始化
#repo init -u http://android.googlesource.com/platform/manifest
5.开始下载Android源代码
#repo sync接下来就是漫长的等待
Android源代码目录结构解析
(2)下载Android源代码中一部分
有2种方法:
方法1.使用repo sync命令(执行repo sync命令前仍然需要使用repo init初始化)
方法2.使用git clone命令下载指定工程源代码
(3)编译Android源代码
1.初始化编译环境
#source build/envsetup.sh 或 . build/envsetup.sh
envsetup.sh脚本文件主要用来初始化一些编译命令,如mm、mmm等。其中mm、mmm是两个很重要的命令,它们都可以编译Android源代码中指定的工程。
2.选择目标,使用lunch命令设置编译目标
#lunch full-eng
3.编译Android源代码
#make -j4(如果在多核的PC上不加-jn命令行参数,make命令只会利用一个CPU核进行编译)
二.下载和编译Linux内核源代码
(1)下载Linux内核源代码。执行下面的命令下载最新的Linux内核源代码:
#git clone http://android.googlesource.com/kernel/common.git
下载完成后,在当前目录下会有一个common目录,进入该目录,执行下面的命令查看当前有哪些远程版本库。
#git branch -a
我们可以根据版本库情况从版本库导出最新Linux内核,如:#git checkout -b android-3.0 remotes/origin/android-3.0
(2)安装Android内核的编译环境
(3)配置和编译Linux内核(假设Linux内核源代码目录是/root/linux_kernel)
1.使用下面的命令编译Linux内核:
#export PATH=/root/compliers/arm-none-linux-gnueabi/bin:$PATH
#cd ~/linux _kernel
#make clean,用于清除大多数由编译生成的文件(.o、.ko等文件),但保留配置文件。
#make
2.一般新下载的Linux源代码根目录没有.config文件。然而这个文件决定了编译生成的Linux内核由哪些功能和模块组成。因此,第一次拿到Linux内核时应先配置linux内核。
#make menuconfig,以界面风格的菜单形式配置Linux 内核
进入“General setup”菜单项的子菜单。选择“Cross-compiler tool prefix”菜单项,按回车键后,要求输入交叉编译器的前缀,输入arm-none-linux-gnueabi-,退出保存设置即可。
在结束所有的设置后,执行make命令编译Linux内核。
成功编译Linux内核后,会在<LInux内核源代码根目录>/arch/arm/boot目录生成一个zImage文件,它就是Linux内核 二进制版本。
三.使用下面的命令在Android模拟器中测试Linux内核(需要使用由goldfish编译而成的zImage文件)
#emulator -avd myavd -kernel /root/kernel/goldfish/arch/arm/boot/zImage
其中myavd是一个AVD名称。
标签:
原文地址:http://www.cnblogs.com/zhanghui4521/p/zhanghui.html