有了源代码,当然还需要编译喽!!

(一)下载、编译和测试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内核的二进制版本

原文地址:https://www.cnblogs.com/xiansheng/p/5424379.html