Android深度探索第四章读后感

第一章中讲过Android移植主要就是Linux内核的移植,而Linux内核移植主要是Linux驱动的移植,所以为了开发和测试Linux驱动,有必要学习在Ubuntu Linux下如何搭建两套开发环境:Android应用程序开发环境和Linux内核开发环境。Linux内核开发环境的搭建是重点中的重点。下面根据书上的内容和网上的资料写出了步骤:

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

# mkdir ~/bin

# PATH=~/bin:$PATH \\创建用于存放脚本文件的目录

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

# chmod a+x ~/bin/repo \\下载repo脚本文件

# mkdir android_source

#cd android_source \\创建用于存放Android源代码的目录

# repo init -u https://android.googlesource.com/platform/mainfest \\初始化

# repo sync \\开始下载Android源代码

(2)Android源代码目录分别存放了Android源代码的不同子项目

(3)下载Android源代码中的一部分两种方法:

1、 # repo sync platform/bootable/recovery \\ repo sync命令

2、 #git clone http://android.googlesource.com/<project name> \\git clone命令

(4)编译Android源代码

# source build/envsetup.sh \\初始化编译环境

# lunch full-eng \\选择目标

# make

# make -j4 \\编译Android源代码

(5)out目录结构分析

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

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

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

1、下载Linux内核源代码

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

# git branch -a

# git checkout -b android-3.0 remotes/origin/android-3.0

# git clone https://android.googlesource.com/kernel/goldfish.git

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

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

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

安装交叉编译器

准备工作:

将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 –l \\验证交叉编译器是否安装成功:

# apt-get install libncurses5 –dev \\安装libncurses5

#export PATH=/root/comppilers/arm-none-linux-gnueabi/bin:$PATH \\配置和编Linux内核

时间: 2024-08-09 02:17:36

Android深度探索第四章读后感的相关文章

Android深度探索第四章总结

Android深度探索第四章主要是源代码的下载和编译.要下载Android源代码首先需要配置Android源代码下载环境(1.创建一个用于存放下载脚本文件的目录:2.下载repo脚本文件:3.创建用于存放Android晕代码的目录:4.初始化:5.开始下载Android源代码).介绍了Android源代码目录结构(/bootable这个目录下存放 android 部分启动相关代码,包括 android 的 recovery模式,一般用于进行 OTA 升级,由 C++ 编写,可以看到用于显示的ui

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

源代码的下载及编译 ——第四章读书笔记及心得 通过阅读书籍知道了Android源代码和Linux源代码的区别,了解了什么是Android移植.知道了Android移植就是Linux内核移植,而Linux内核移植主要就是Linux的驱动移植.为了开发和测试内核环境需要对环境进行搭建,进而知道了如何搭建环境.知道了如何下载Android/Linux源代码及配置Android源代码下载环境(并且知道Android源代码的下载并非一定要将4MB多的东西全部下载,也可以挑选着自己需要的东西下载,,可以利用

Android深度探索第四章心得

本章主要介绍使用Git下载两套源代码.一套是Android 源代码,另一套是Linux 内核源代码.主要介绍如何下载和编译Android源代码和Linux内核源代码. Android源代码包含较多东西,如内嵌在Android系统内置应用程序的源代码,Android SDK带的各种工具的源代码以及HAL源代码. 1.配置Android源代码下载环境,在Linux终端执行一系列命令: 第一步:创建一个用于存放下载脚本文件(repo)的目录(可将该脚本文件放置到任何目录中,在这里使用~/bin) #

Android深度探索--第五章读后感

对于编写linux驱动程序的步骤:主要有第一步,建立其驱动骨架,任何类型的程序都有一个基本的结构:第二步,注册和注销设备文件,任何一个linux驱动都需要有一个设备文件,否则应用程序将无法与驱动程序交互.建立设备文件的工作一般在第一步编写的处理linux初始化工作的函数中完成,删除设备文件一般在第1步编写的处理linux退出工作的函数中完成:第三步,指定与驱动相关的信息,驱动程序是自描述的:第四步是指定回调函数,linux 驱动包含了多种动作,也可称为事件:第五步,编写业务逻辑,这一步是Linu

Android深度探索第三章读后感

第三章主要介绍了Git.   Git并不是学习Android移植和Linux内核.驱动开发必须掌握的技术,但对于想深入研究底层技术的人来说,Git将成为学习过程中必不可少的工具. 学习新技术的最好方式不是阅读技术书籍或者在网上查看牛人写的文章,而是自己阅读自己感兴趣的源代码.因为源代码是最能体现软件作者的真正思路的.学习Linux内核开发也是相同的道理,只是找几本书看看,并不能真正体会Linux内核的核心设计理念.直接阅读Linux内核的源代码才是唯一可以接近Linux内核的方法 .虽然一开始很

Android深度探索第四章

下载.编译和测试Android源代码,Android源代码包含许多的东西,例如:内嵌在Android系统的应用程序(拍照.计算器.日历.相册.拨号器等)的源代码:AndroidSDK带的各种工具(adb.emulator.mksdcard.aapt等)的源代码,当然还有HAL的源代码:从代码的数量上来看,Android源代码还是很复杂的.不过研究Android源代码并不一定要全部了解,只需要了解所需要的代码即可.在下载Android源代码之前还必须在Linux上配置下载环境.Android的源代

Android深度探索--第七章读后感

编写LED驱动 创建LED驱动的设备文件 1.使用cdev_init函数初始化cdev. 2.指定设备号:用1个int类型表示 Linux设备文件的设备号,前12位表示主设备号,后20位表示次设备号设备号有两种指定方法:直接在代码中指定(硬编码):动态分配 (alloc_chrdev_region).分别使用MAJOR和MINOR宏从设备号号中获取主设备号和次设备号. 3.使用cdev_add函数将字符设备添加到内核中的字符设备数组中 4.使用class_create宏创建struct clas

Android深度探索--第六章读后感

建立Linux驱动骨架:Linux内核在使用驱动时需要装载与卸载驱动,装载驱动:建立设备文件.分配内存地址空间等:module_init 函数处理驱动初始化,卸载驱动:删除设备文件.释放内存地址空间等:module_exit函数处理退出,包含这两个函数的两个宏的C程序文件也可看做是Linux驱动的骨架,注册和注销设备文件:任何一个Linux驱动都需要有一个设备文件,否则应用程序将无法与驱动程序交互.建立设备文件:在第一步编写的处理Linux初始化工作的函数中完成.misc_register函数,

Android深度探索第三章总结

Android深度探索第三章主要是Git使用入门.这一章首先让我们先安装Git,在进行编程是可以查看Git文档man git—checkout安装git—doc后会安装git文本格式和HTML格式的文本.查看文本用git help <sub—command>.使用命令"git init"初始化的版本库(暂且称为working repository)将会生成两类文件:第一类是版本库目录.git目录,它里面存放的是版本的历史记录信息和实际项目文件的拷贝;你可以把这类版本库叫做&