第四章讲的是源代码的下载和编译
第一节讲的是下载、编译和测试Android源代码
首先是配置Android源代码下载环境:
创建一个用于存放下载脚本文件(repo)的目录(可将该脚本文件一放在任何目录下,在这里使用~/bin)。下载repo脚本文件(用于下载Android源代码),创建用于存放Android源代码的目录(可放在其他目录中),然后就是初始化,下载Android源代码
之后进行Android源代码的目录结构解析下载Android源代码中的一部分进行Android源代码的编译: 1、初始化编译环境 # source build/envsetup.sh 2、选择目标 3、编译Android源代码
第二节讲的是下载和编译Linux内核源代码
首先是下载Linux内核源代码
# git clone http://android.googlesource.com/kernel/common.git
打开Linux内核源代码的目录结构,了解一下Linux内核中各个目录的含义
之后安装Android内核的编译环境,所谓交叉编译器就是指在A架构的CPU上编译可在B架构CPU上运行的程序。
1、准备工作:将arm-linux-gcc-4.3.2.tgz文件和arm-none-linux-gnueabi-arm-2008q3-72for-linux.tar.bz.2文件复制到工作目录。
2、解压编译器
使用下面的命令解压上面的两个的压缩文件
#tar zcvf arm-linux-gcc-4.3.2.tgc -C /
#tar jxvf arm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2 -C /
3、验证交叉编译器是否安装成功
#ls/usr/local/arm -1
4、安装libnctrses5(安装libnctrses主要是为了配置内核,可以为字符界面的Linux终端提供一个美观的界面)
# apt-get install libncurses5-dev
接着配置和编译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;make menuconfig;make oldconfig;make xconfig
Android移植只要就是Linux内核的移植,而Linux内核移植是要是Linux驱动的移植。所以为了开发和测试Linux驱动。需要搭建俩套开发环境:Android应用程序开发环境和Linux内核开发环境!