通过第四章的学习,使自己完成了源代码的下载和编译。知道了其具体的步骤和方法。心里有点小小的成就感。
学到的知识:
下载、编译和测试android源代码
1、配置android源代码下载环境
1.创建一个用于存放下载脚本文件的目录
# mkdir ~/bin
# PATH=~/bin:$PATH
2.下载repo脚本文件
# curl https://dl-ssl.com/dl/googlesource/git-repo/repo > ~/bin/repo
#chmod a+x ~/bin/repo
3.创建用于存放android源代码的目录
# mkdir android_source
# cd android_source
4.初始化
# repo init -u https://android.googlesource.com/platform/manifest
5.开始下载android源代码
# repo sync
2、Android源代码目录结构解析
3、下载android源代码中的一部分
# repo sync platfrom/bootable/recovery
4、编译android源代码
1.初始化编译环境
# source build/envsetup.sh
2.选择目标
# lunch full-eng
3.编译android源代码
# make
5、Out目录结构分析
6、将自己的APK作为android内置程序发布
7、用模拟器测试system.img文件
1.重新生成system.img文件
# mkysffs2image system system.img
2.测试刚生成的system.img文件
# emulator -avd myavd -system system.img -data userdate.img
下载和编译Linux内核源代码
1、下载Linux内核源代码
1.下载最新的Linux内核源代码
# git clone https://android.googlesource.com/kernel/common.git
2.查看当前远程版本库
# git branch -a
3.到处最新Linux内核
#git checkout -b android-3.0 remotes/origin/android-3.0
4.下载内核
# git clone http://android.googlesource.com/kernel/goldfish.git
5.导出godfish目录
# git checkout -b android-goldfish-2.6.29 remotes/origin/android-goldfish-2.6.29
2、Linux内核源代码的目录结构
3、安装android内核的编译环境
1.准备工作将arm-linux-gcc-4.3.2.tgz文件和arm-none-linux-gnueabi-aim-2008q3-72-for-linux.tzr.bz2文件复制到工作目录
2.解压编辑器
# tar zxvf arm-linux-gcc-4.3.2.tgz -C /
# tar jxvf arm-none-linux-gnueabi-aim-2008q3-72-for-linux.tzr.bz2 -C /
3.安装交叉编译器是否安装成功
# ls /usr/local/arm -l
4.安装libncurses5
# apt-get install libncurses5-dev
4、配置和编译Linux内核
# export PATH=/root/compilers/arm-none-linux-gnueabi/bin:$PATH
# cd ~/linux_kernel
# make clean
#make
彻底清除命令
1.make mrproper:清楚所有由编译产生的文件+清楚配置文件。
2.make distclean:make mrproper+删除编辑器留下的备份文件和补丁文件。
配置命令
1.make config:以文本形式配置Linux内核。
2.make menuconfig:以字符界面风格的菜单形式配置Linux内核。
3.make oldconfig:以字符界面逐项要求用户配置。
4.make xconfig:以图形界面形式配置Linux内核。
在android模拟器上测试Linux内核
# emulator -avd myavd -kernel /root/kernel/goldfish/arch/arm/boot/zImage