(一)下载、编译和测试Android源代码
1.配置Android源代码下载环境
#mkdir ~/bin——创建一个用于存放下载脚本文件的目录
#PATH=~/bin:$PATH
#curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo——下载repo脚本文件
#chmod a+x ~/bin/repo
#mkdir android_source——创建用于存放Android源代码的目录
#cd android_source
#repo init -u https://android.googlesource.com/platform/manifest——初始化
#repo sync——开始下载源代码
2.编译Android源代码
#source build/envsetup.sh 或 #.build/envsetup.sh ——初始化编译环境
#lunch full-eng——设置编译目标为full-eng
#make 或 #make -j4——当有多个CPU内核时,可以多个同时进行编译,缩短编译时间
编译工程:# cd /working/android2.3.4_scr
# source build/envsetup.sh
# cd packages/apps/Calculator
# mm
或 # cd /working/android2.3.4_src
# build/envsetup.sh
#mmm packages/apps/Calculato
编译完成后,会在Android源代码根目录中生成一个out目录,所有编译的目标文件都在这个目录下
(二)下载和编译Linux内核源代码
1.下载Linux内核源代码
# git clone https://android.googlesource.com/kernel/common.git
# git branch -a——查看当前有哪些远程版本库
# git checkout -b android-3.0 remotes/origin/android-3.0——导出Linux3.0内核
2.安装Android内核的编译环境
安装交叉编译器,请参考第二篇随笔。
配置Linux内核源代码根目录下的Makefile文件,打开Makefile文案,找到ARCH和CROSS_COMPILE
ARCH ?=arm
CROSS_COMPILE?= arm-none-linux-gnueabi-
3.配置和编译Linux内核
假设Linux内核源代码目录是/root/linux_kernel,使用下面命令可以编译Linux内核:
#export PATH=/root/compilers/arm-none-linux-gnueabi/bin:$PATH
#cd ~/linux_kernel
#make clean
#make
4个配置命令必须在Linux源代码目录执行:
make config 以文本的形式配置Linux内核;
make menuconfig ;
make oldconfig 以字符界面逐项要求用户配置;
make xconfig 以图形界面形式配合Linux内核;
由于make xconfig 命令形式的图形界面使用了QT的共享库,因此,如果执行make xconfig 命令的Ubuntu Linux 未安装QT,可以使用下面的命令安装QT
#apt-get install libqt4-dev
成功编译Linux内核后,会在<Linux内核源代码根目录>/arch/arm/boot目录生成一个zImage文件,该文件就是Linux内核的二进制版本