源代码的下载和编译

4.1下载编译和测试源代码

Android源代码由很多东西组成,一种是Android系统应用程序的代码,android SDK带的各种工具,android NDK的源代码,HAL源代码。

1.配置Android源代码下载环境

在下载Android源代码之前必须要在Linux终端执行一系列命令来配置下载环境。

第一步:创建一个用于存放下载脚本文件(repo)的目录

#  mkdir  ~/bin

#  PATH=~/bin:$PATH

第二步:下载repo脚本文件

# curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo  >  ~/bin/repo

# chmod a+x  ~/bin/repo(repo是用python对Git的一个封装,简化下载android源代码的操作)

第三步:创建用于存放Android源代码的目录

#  mkdir android_source

#  cd  android_source

第四步:初始化

#  repo  init  -u https://android.googlesource.com/platform/manifest   -b  android-4.0.1_rl

第五步:开始下载Android源下载过程中网络几乎做不了其他的事情代码

#  repo  sync

执行上面的命令后,会现实一些信息然后开始下载Android源代码,接下来是漫长的等待,按国内大多数人能达到的网速,至少要4个小时才能下完。

下载一部分Android源代码

方法1  使用repo sync命令

# repo sync platform/bootable/recovery

方法2  使用git clone 命令

# git clone http://android.googlesourse.com/<project name>

2编译Android源代码

第一步:初始化编译环境

#    source  build/envsetup.sh

#   .   build/envsetup.sh

第二步:选择目标

#  lunch  full-eng

第三步:编译Android源代码

#  make –j4

不仅下载Android源代码需要较长时间,完全编译Android源代码也需要很长的时间。当编译完成后,会在Android源代码根目录中生成一个out目录。

Out 目录是存放编译Android源代码生成的目标文件的默认目录

-- target(表示目标机,如果编译时候定义TARGET_STRIP_MODULE=false的话,这个目录为debug/target) 主要的两个目录为host和target,前者表示在主机(x86)生成的工具,后者表示目标机(默认为ARMv5)运行的内容。

4.2下载和编译linux内核源代码

下载最新版的内核源代码

# git clone https://android.googlesourse.com/kernel/common.git

查看有哪些远程版本库

# git branch -a

导出Linux3.0的内核

# git check out -b android-3.0 remotes/origin/android-3.0

下载该内核

# git clone http://android,googlesourse.com/kernel/goldfish.git

导出goldfish

# git checkout -b android-goldfish-2.6.29 remotes/origin/android-goldfish-2.6.29

Linux内核源码目录

arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录。

block: 部分块设备驱动

crypto:常用加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法。

Documentation

drivers:设备驱动程序,每个不同的驱动占用一个子目录,如char、block、net、mtd、i2c等。

fs:支持各种文件系统,如EXT、FAT、NTFS、JFFS2等

include:头文件,与系统相关的头文件放置在include/linux子目录下。

init:内核初始化代码。

ipc:进程间通信的代码

kernel:内核的最核心部分,包括进程的调度、定时器等,而和平台相关的一部分代码放在arch/*/kernel目录下。

lib:库文件代码。

mm:内存管理代码,和平台相关的一部分代码放在arch/*/mm目录下。

net:网络相关代码,实现了各种常见的网络协议。

安装Android内核的编译环境

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

配置和编译Linux内核

# export PATH=/root/compilers/arm-none-linux-gnueabi/bin:$PATH

#cd ~/linux_kernel

#make clean

#make

在Linux源代码目录执行以下四个配置命令

Make config

Make manuconfig

Make oldconfig

Make xconfig

成功编译Linux内核后,会在<Linux内核源码目录>/arch/arm/boot目录生成一个zlmage文件,该文件是Linux内核的二进制版本,可以直接使用zlmage安装到开发版上,也可以通过命令在Android模拟器中进行测试。

# emulator -avd myavd -kernel /root/kernel/goldfish/arch/arm/boot/zlmage

时间: 2024-12-25 19:35:34

源代码的下载和编译的相关文章

源代码的下载和编译读书心得

源代码的下载和编译主要包括下载.编译和测试Android源代码以及下载编译Linux内核源代码. 配置Android源代码下载环境有五个步骤:第一步:创建一个用于存放下载脚本文件的目录:第二步:下载repo脚本文件:第三步:创建用于存放Android源代码的目录:第四步:初始化:第五步:开始下载Android源代码. 下载Android源代码中的某个子项目有两种方法:使用repo sync命令和使用git clone 命令. 编译Android源代码包括以下几个步骤:第一步:初始化编译环境:第二

第四章 源代码的下载和编译

Android移植主要就是Linux内核的移植,而Linux内核的移植主要是Linux驱动的移植.为了开发和测试Linux驱动,需在Ubuntu Linux下搭建两套开发环境:Android应用程序开发环境和Linux内核开发环境.需要对源代码进行下载和编译,由于Android源代码包含了很多东西,如内嵌在Android系统中的应用程序的源代码,Android SDK带的各种工具的源代码,Android NDK的源代码,以及HAL源代码,所以对Android源代码的下载.编译和测试过程比较复杂.

第四章:源代码的下载和编译的学习笔记

第四章:源代码的下载和编译 本章主要是学习使用GIT下载两套源代码,学习如何下载和编译Android源代码和Linux 内核源代码. 一.下载.编译和测试Android源代码 (1)配置Android源代码下载环境: 1.创建一个用于存放下载脚本文件(repo)的目录(可将该脚本文件一放在任何目录下,在这里使用~/bin). 2.下载repo脚本文件(用于下载Android源代码) 3.创建用于存放Android源代码的目录(可放在其他目录中) # mkdir android-source #

Android深度探索(卷1)HAL与驱动开发 第四章 源代码的下载和编译 读书笔记

Android深度探索(卷1)HAL与驱动开发 第四章 源代码的下载和编译 读书笔记     本章学习了使用git下载两套源代码并搭建两个开发环境.分别为Android源代码和Linux内核源代码.Android源代码中包含了HAL(即硬件抽象层) 的代码,并学习了如何搭建这两种开发环境. Android 的移植的本质就是Linux内核的移植,Linux内核的移植主要是Linux驱动的移植.而开发和测试Linux驱动就需要安装以上两个开发环境. 搭建两套环境的具体步骤如下: 一.下载编译和测试A

源代码的下载和编译:

源代码的下载和编译:***************************************** 下载 编译和测试Android源代码1.创建用于存放下载脚本的目录:# mkdir ~/bin# PATH-~/bin:$PATH2.下载repo脚本文件# curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo# chmod a+x ~/bin/repo3.创建用于存放Android源代码的目录# m

第四章源代码的下载和编译 心得体会

第四章源代码的下载和编译 心得体会 通过学习Android深度探索(卷1)HAL与驱动开发的第四章源代码的下载和编译,我知道了该操作的基本流程,也学习到了一些基本的操作命令. 一.初始环境搭建 1.安装JDK 2.安装编译工具 二.下载Android源码 3.创建工作目录 进入工作目录(比如works),创建bin目录: mkdir ~/works mkdir ~/works/android_dev cd ~/works/android_dev mkdir bin 4.安装repo版本管理工具(

第四章:源代码的下载预编译

<Android深度探索>(卷1)HAL与驱动开发读后感: 在第三章学习过Git的使用方法的基础上,本章主要介绍的是使用Git下载两套源代码,一套是安卓源代码,另一套Linux源代码.由于安卓移植主要就是Linux内核移植,所以Linux源代码是安卓的核心部分.而Linux内核移植主要是Linux驱动移植,故,为了开发和测试Linux驱动,需要在Ubuntu Linux下搭建两套开发环境:Android应用程序开发环境金额Linux内核开发环境.本章的主要目的也就是介绍如何搭建这两种开发环境,

第四章:源代码的下载和编译

使用Git下载源代码. 一.下载.编译和测试Android源代码 1.配置Android源代码下载环境 ①.下载之前必须先在Linux终端执行一些命令来配置下载环境. 创建一个用于存放下载脚本文件(repo)的目录  命令:#mkdir ~/bin     #PATH=~/bin:$PATH” ②.下载repo脚本文件(用于下载Android源代码) #curl 地址 > ~/bin/repo #chmod a+x ~/bin/repo ③.创建用于存放Android源代码的目录 #mkdir

第四章 源代码的下载与编译 - 读书笔记

Android驱动月考4 1.配置Android源代码下载环境 创建文件以及配置路径 PATH 使用curl或者wget方式下载脚本 并且赋予权限于~/bin/repo 创建Android源代码的目录以及初始化init,并且开始下载源代码,也可以下载源代码的一部分. 2.使用git clone从Googlesource把Android源代码项目克隆到本地. 3.编译,这里比较重要,运行envsetup.sh安装的shell脚本,之后进行之后的安装步骤接模拟器. 4.下载和编译linux内核的源代