Android深度探索-卷1 第四章

使用Git下载两套源代码,一套是Android 源代码,一套是Linux 内核源代码。由于Android移植主要就是Linux内核的移植,而Linux内核移植主要是Linux驱动移植,所以为了开发和测试Linux驱动,需要在Ubuntu Linux 下搭建两套开发环境:Android应用程序开发环境和Linux 内核开发环境.

一、下载、预编译、和测试Android源代码的核心步骤:

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

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

(2)下载repo脚本文件

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

(4)初始化

(5)开始下载Android源代码

2.Android 源代码目录结构解析

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

(1)方法1:使用repo sync命令

(2)方法2:使用git clone命令

4.编译Android 源代码

(1)初始化编译环境

(2)选择目录

(3)编译Android源代码

5.out目录结构分析

6.将自己的APK作为Android内置程序发布

7.用模拟器测试system.img文件

二、下载和编译Linux 内核源代码

1.下载Linux 内核源代码

2.Linux内核源代码的目录结构

3.安装Android内核的编译环境

(1)准备工作:将arm-linux-gcc-4.3.2.tgz文件和arm-none-linux-gnueabi-arm- 2008q3-72- for-linux.tar.bz2文件复制到工作目录。

(2)解压编译器 使用下面的代码解压上面两个压缩文件

# tar zxvf arm-linux-gcc-4.3.2.tgz -C /

# tar jxvf arm-none-linux-gnueabi-arm-2008q3-72-for-linux.tar.bz2 -C/

(3)验证交叉编译器是否安装成功

# ls /usr/local/arm –l

(4)安装libncurses5

# apt-get install libncurses5 –dev

4.配置和编译Linux 内核

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

时间: 2025-01-10 06:37:02

Android深度探索-卷1 第四章的相关文章

Android深度探索-卷1第四章心得体会

这一章的和三章的git用法有联系,so,吧上一章的git基本用法搞好了再来,具体的方法就是看书上网查,这里就不做详细步骤介绍了.这章就有点意思了,是源码的下载和编译,有能看的,能自己鼓捣的,本章介绍的是方法,可以类推其他.Android一直主要就是Linux内核的移植,Linux的移植有主要是Linux驱动的移植,所以我们在学习的时候要搭起码俩环境,一个Android的,一个Linux的.本章前半部分是介绍Android 的源码下载和编译,后半部分是Linux的内核源码下载和编译,Linux内核

Android深度探索-卷1第六章心得体会

这章主要介绍了第一个linux驱动程序:统计单词个数.Linux系统将每一个驱动都映射成一个文件,这些文件称为设备文件或驱动文件,都保存在/dev目录中.大多数Linux驱动都有与其对应的设备文件,因此与Linux驱动交换数据就变成了与文件交换数据,也就是文件操作. 编写Linux驱动程序的步骤 第一步:建立Linux驱动骨架(装载和卸载Linux驱动) 第二步:注册和注销设备文件 第三步:指定于驱动相关的信息 第四步:指定回调函数 第五步:编写业务逻辑 第六步:编写Makefile文件 第七步

Android深度探索-卷1第五章心得体会

S3C6410是由三星公司推出的一款低功耗.高性价比的RISC处理器,开发是,首先安装minicom串口调试工具: 第一步:检测当前系统是否支持USB转串口. Lsmod | grep usserial 第二步:安装minicom apt-get install minicom 第三步:配置minicom: Minicom –s按提示和需要配置即可 第四步:测试minicom Minicom 烧写Android系统 使用Eboot擦除NandFlash的方法如下: 第一步:准备工作 第二步:进入

Android深度探索-卷1第七章心得体会

创建LED驱动的设备文件 第一步:使用cdev_init函数初始化cdev 第二步:指定设备号.直接在代码指定或动态分配 第三步:使用cdev_add函数将字符设备添加到内核中的字符设备数组中 第四步:使用class_create宏创建struct class 第五步:使用device_create函数创建设备文件 卸载LED驱动的设备文件 需要依次调用device_destroy.class_destroy和unregister_chrdev_region方法 void device_dest

Android深度探索-卷1第三章心得体会

第三章整章介绍了git,git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.通过配置git后可以很方便的找到需要的资源,更多的是代码和包,可以在本地建立版本库,为了方便和尽可能多的获得资源,我觉得还是在网上的好,(所有网上,懂么)这就需要理解git的用法和功能听说git很复杂,书上也是用一个例子来演示了如何创建版本库.提交源代码.创建分支.向远程服务器上传源代码,从远程服务器获取源码.在上传自己的代码时,如果你不想让别人看见,你的缴费,不然就是开源的,就像我们

Android深度探索-卷1 第三章

Git使用入门 Linux 内核代码及许多著名的项目(如Aniroid Eclipes,KDE,QT,Ruby on Rails等)都使用了Linux 之父Linus编写的Git进行源代码管理.Linux 以一个文件系统专家和内核设计者的视角对  Git进行了设计.其独特的设计让Git拥有非凡的性能和最为优化的存储能力,Git在各个方面都优于其他同类的源代码管理软件. 安装Git ubuntu linux10.10或更新的版本命令为: #apt—get install git #apt—get

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

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

Android深度探索(卷1)HAL与驱动开发 第六章 第一个Linux驱动程序:统计单词个数

Android深度探索(卷1)HAL与驱动开发 第六章 第一个Linux驱动程序:统计单词个数 统计单词个数的功能是封装在Linux驱动中的. Linux驱动的工作和访问方式是Linux亮点之一,同时受到了业界大防范好评.Linux系统将每一个驱动都映射成一个文件.这些文件称为设备文件或者驱动文件,都保存在 /dev 目录中.这种设计理念使得与Linux驱动进行交互就像与普通文件进行交互一样容易.当然,也比访问Linux API 更容易.由于大多数Linux驱动都有与其对应的设备文件,因此与Li

Android深度探索(卷1)HAL与驱动开发 第一章 Android系统移植与驱动开发概述 读书笔记

Android深度探索(卷1)HAL与驱动开发 第一章 Android系统移植与驱动开发概述 读书笔记 本章是 Android系统移植与驱动开发概述性的具体讲解.首先,Android被分为了四层架构.在最底层的是Linux内核 .然后分别是C/C++代码库.Android SDK A和应用程序.而Android的移植又分为系统移植和应用移植.系统移植要实现Android操作系统在其他硬件平台上运行起来,其中的关键是Linux的内核.内核必须要完成对平台上运行的各个硬件的识别.所以这就需要Linu