标签:
第四章 源代码的下载和编译
1、下载、编译和测试Android源代码
配置Android源代码的下载环境
①创建一个存放下载脚本文件(repo)的目录
# mkdir ~/bin
# PATH=~/bin:$PATH
②下载repo脚本文件
# curi http://dl-ssl.google.com/dl/googlesource/git-repo/repo > -/bin/repo
# chmod a+x ~/bin/repo
③创建存放Android源代码的目录
# mkdir android_source
# cd android_source
④初始化
# repo init -u http://android.googlesource,com/olatform/manifest
#repo init -u http://android.googlesource.com/platform/manifest -b android-4.0.1_r1
⑤开始下载、
# repo sync
打开Android源代码的目录
Abi 应用程序二进制接口
Bonic c/c++运行时库(NDK程序中很大一部分调用函数)
Bootable 为Linux内核程序尊卑合适的运行环境
Build 用于编译Android源代码以及建立system.img,ramdisk,img等文件的工具
Cts 兼容性测试工具
Dalvik dalvilk虚拟机的源代码
Development 高层的开发和调试工具
Device 与设备相关的代码
Does 包含于Android源代码项目的文档和工具
Extermal 扩展工具的源代码
Framework Android SDK源代码
Hardware 硬件层接口和库,HAL的源代码
Libcore Java核心库
Ndk NDK相关代码
Package Android系统发布的应用程序
Prebuild Android各种平台下编译之前要使用的工具
Sdk 在开发环境中使用的工具
System Android的基本系统
下载Android源代码中的一部分
方法一 使用repo sync命令
# repo sync platform/bootable/recovery
# repo sync platform/packages/apps/Camera
方法二 使用git clone 命令
git clone https://android.googlesource.com/<project name>
下载recovery工程的命令
git clone https://android.googlesource.com/<project/platform/bootable/recovery
编译Android源代码
第一步 初始化编译环境
# source build/envsetup.sh
或#.build/envsetup.sh
编译calendar工程
# cd /working/android2.3.4_src
#source build/envsetup.sb
# cd package/apps/Celculator
# mm
第二步 选择目标
打开所有的调试目录
# lunch full-eng
第三步 编译Android源代码
编译Android源代码
# make -j4
用模拟器测试system.img文件
重新生成system.img文件
# mkyaffs2image system system.img
使用模拟器测试干生成的system.img文件
# emulator -avd myavd -system system.img -data userdata.img
2、下载和编译Linux内核代码
下载Linux内核源代码
# git clone http://android.googlesource.com/kernal/common.git
进入common目录,执行
# git branch -a
导出Linux3.0内核
# git chaeck -b android-3.0 remotes/origin/android-3.0
安装Android内核的编译环境
更改变量的值:
ARCH ?= arm
CROSS_COMPLILE?= arm-none-linux-gnueabi-
安装交叉编译器
①准备工作
将arm-linux-gcc-4.3.2.tgz文件
和arm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2文件复制到工作目录
②解压编译器
# tar zxvf arm-linux-gcc-4.3.2.tgz -C /
# tar jxvf arm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2 -C /
③验证交叉编译工具是否安装成功
# ls /usr/local/arm -1
④安装;ibncures5,配置内核终端提供一个完美的界面
# apt-get install libncurses5-dev
配置和编译Linux内核
# export PATH=/root/compilers/arm-none-linux-gnueabi/bin:$PATH
# cd -/linux_kerbel
# make clean
# make
心得体会:
Android移植主要就是Linux内核的移植,Linux的移植主要是驱动的移植,本章中主要学习了,首先需要在原有的Linux程序中搭建Linux内核开发环境和Android应用程序开发环境,本章说明了搭建开发环境的方法
标签:
原文地址:http://www.cnblogs.com/Wqian/p/5447792.html