Android深度探索——第四章读书笔记及心得

源代码的下载及编译

——第四章读书笔记及心得

通过阅读书籍知道了Android源代码和Linux源代码的区别,了解了什么是Android移植。知道了Android移植就是Linux内核移植,而Linux内核移植主要就是Linux的驱动移植。为了开发和测试内核环境需要对环境进行搭建,进而知道了如何搭建环境。知道了如何下载Android/Linux源代码及配置Android源代码下载环境(并且知道Android源代码的下载并非一定要将4MB多的东西全部下载,也可以挑选着自己需要的东西下载,,可以利用repo sync命令和git clone命令实现这一操作)。了解了Android源代码目录构成情况,除了Makefile文件外其余均为目录,存放了Android源代码的不同子项目。      了解了如何编译Android源代码。加深了对于第二章交叉编译环境搭建的理解

对Ubuntu Linux的环境的搭建有两种,分别为Android应用程序开发环境和Linux内核开发环境。

Android源代码包含了很多的东西,比如Android系统中的应用程序源代码、Android SDK 带的各种工具的源代码、Android NDK 的源代码、HAL的源代码。在下载Android源代码之前也需要对环境进行配置:

(1)    创建用于存放下载的脚本文件(repo)的目录(可放于任何目录中,使用~/bin)

# mkdir  ~/bin

#PATH=~bin:$PATH

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

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

(4)    初始化

(5)    开始下载

下载好Android源代码就要进行编译了,因为Android源代码的每一个目录中都会包含Android.mk文件,所以编译整个Android源代码时会递归调用每一个Android.mk文件来编译当前的工程。首先需要初始化编译环境,其次需要选择目标,最后编译Android源代码。编译后会生成一个out目录(out目录包含host子目录和target子目录)。

      # source build/envsetup.sh

         # .build/envsetup.sh

         # lunch full-eng(假设目标为full-eng)

         # make -jn

         envsetup.sh脚本文件用来初始化一些编译命令,在该脚本文件中定义了一些shell函数。可以通过mm和mmm进行编译Android源代码的制定工程,但是前者必须进入指定工程的目录进行编译,后者只需制定工程路径即可。要编译整个Android环境可以用m代替make。

 

博客园地址:http://www.cnblogs.com/zhanghui9505/

posted @ 2016-04-28 10:28  慧宝宝宝宝宝  阅读(99)  评论(0编辑  收藏  举报