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

Android移植主要就是Linux内核的移植。而Linux内核移植主要是Linux驱动的移植。所以为了开发和测试Linux驱动。需要在ubuntu Linux下搭建两套开发系统:Android应用程序开发环境和Linux内核开发环境。Android源代码虽然很复杂,但是研究Android源代码不需要了解每一个细节,只需要我们关注需要了解的源代码即可。

一、  下载、编译和测试Android源代码

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

(1)创建一个用于存放下载脚本文件(repo)的目录(可将该脚本文件一放到任何目录中)

#mkdir ~/bin

#PATH=~/bin:$PATH

(2)下载repo脚本文件(用于下载Android源代码)

(3)创建用于存放Android源代码的目录

(4)初始化

(5)开始下载Android源代码

2.下载Android源代码中的一部分

方法一:使用repo sync命令(# repo platform/bootable/recovery)

方法二:使用git clone命令

3.编译Android源代码

(1)初始化编译环境

# source build/envstup.sh或者# . build/envsetup.sh

mm和mmm都可以编译Android源代码中指定的工程。Mm命令必须进入指定工程的目录进行编译,而mmm可以在Android源代码目录机构中的任一级目录编译任意指定的工程。

(2)选择目标

# lunch 目标名

(3)编译Android源代码

# make

(4)将自己的APK作为Android内置程序发布

(5)用模拟器测试system.img文件

2.下载和编译Linux内核源代码

(1)下载Linux内核源代码

# git clone

# git branch –a(查看远程版本)

# git checkout –b android-3.0 remotes/origin/android-3.0 (导出Linux内核)

(2)安装Android内核的编译环境

解压编译器(# tar zxvf arm-linux* -c和# tar jxvf arm-none* -c)

验证交叉编译器是否安装成功(# ls /usr/local/arm -l)

安装libncursers5(# apt-get install libncursers5-dev)

(3)配置和编译Linux内核

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

# cd~/linux_kernel

# make clean

# make

make mrproper:清除所有由编译产生的文件+清除配置文件;make distclean:makr mrproper+删除编辑器留下的备份文件和补丁文件.

make config:以文本形式配置Linux内核,make menuconfig:以字符界面形式配置Linux内核,make oldconfig:以字符界面逐项要求用户配置,make xconfig:以图形界面形式配置。这四个命令必须在Linux源代码根目录下执行。

在Android模拟器中测试Linux内核(# emulator –avd myavd –kernel /root/kernel/goldfishi/arch/arm/boot/zImage)

posted @ 2016-04-28 17:59  a870542373  阅读(163)  评论(0编辑  收藏  举报