第四章 源代码的下载和编译
Android源代码包含的东西:内嵌在android系统中的应用程序:拍照,计算器,日历,相册,拨号器等的源代码;android SDK带的各种工具:如:adb, emulator mksdcard apt等的源代码,android ndk的源代码。Hal源代码。
一、下载、编译和测试源代码:
1.配置android源代码下载环境:
(1)创建一个用于存放下载脚本文件(repo)的目录(可将该脚本文件放到任何目录中,使用~/bin);
#madir ~/bin
#path ~/bin :$path
(2)下载repo脚本(用于下载源代码);
# curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
#chmod a+x ~/bin/repo
(3)创建用于存放android源代码的目录(可放在其他目录中);
# mkdir android_reource
# cd android_source
(4)初始化;# repo init -u https://android.googlesource.com/platform/manifest
(5)开始下载android源代码;# repo sync
2.android源代码目录结构解析;
android部分源代码的含义:
abi:应用程序二进制接口;
Device:与设备相关的代码;
Hardware:硬件层和库。
Sdk:在开发环境中使用的工具。
3.下载android源代码中的一部分,
下载android源代码的子项目的方法:
使用reop sync命令# repo sync platform/bootable/recovery
或是使用git clone命令:# git clone http://android.googlesourse.com/<project name>
4.编译android源代码的步骤:第一步:初始化编译环境:
# source build/envsetup.sh或# . build/envsetup.sh 第二步;选择目标:# lunch full-eng 第三步:编译android源代码:# make
5.out目录结构分析;out目录是存放编译andriod源代码生成的目标文件的默认目录。镜像文件可以使用android模拟器或真机中测试。
6.将自己的APK作为内置程序发布;为了测试文件,可以将一个自己生成的apk程序嵌入到文件中。
7.用模拟器测试system.img文件。
二、下载和编译linux内核源代码:
下载linux内核源代码;git clone http://android.googlesource.com.kernel/common.git,执行这个命令可以下载到最新的内核源代码,查看当前的远程版本用git branch -a ,使用git checkout -b android-3.0 remotes/origin/android-3.0导出android3.0的内核;# git clone http://android,googlesourse.com/kernel/goldfish.git
# git checkout -b android-goldfish-2.6.29 remotes/origin/android-goldfish-2.6.29 //导出goldfish
安装android内核的编译环境有4个步骤:1.准备工作
:将arm-linux-gcc-4.3.2.tgz文件和arm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar,bz2文件复制到工作目录
2.解压
3.验证交叉编译器是否安装成功# ls /user/local/arm -1
4.安装libncurses5# apt-get install libncurses5-dev
5.配置和编译linux内核。