Android深度探索总结
Android深度探索前四章总结
通过这几章的学习真实体会到“移植”的概念:为特定设备定制Android的过程,但是移植的过程中开发最多的就是支持各种硬件设备的Linux驱动程序,本章对Android和Linux做了总体介绍。接着介绍了Android的四层架构:Linux内核;C/C++代码库;Android SDK API;应用程序。又引入Android移植,Android移植包括两部分:应用移植,系统移植。而且为硬件平台添加新的模块,必须为此模块添加一个新的驱动程序,或者修改原来的程序。
学习Linux需要做:Linux操作系统Ubuntu,一块开发板,学习GNU C,相关的硬件知识。Linix将存储器和外设分为三部分:字符设备(触摸屏,磁带驱动器,鼠标,键盘),网络设备,块设备(硬盘,软驱)
最后引入Linux驱动,LED灯核心代码中包含了很多系统的函数和结构体,明白了任何一个驱动都需要有一个装载函数和卸载函数,他们分别通过module_init和module_exit宏来指定。这是Linux最基本的一个驱动程序。Linux驱动编程只和Linux内核有关,与用户使用的Linux系统没有关系,可以通过命令来查看系统使用的内核版本,而且只要是内核版本一样驱动就可以通用。
需要Android应用程序以及Android NDK程序来测试Linux驱动,所以所需要的工具都必须配备好。而且对工具的版本也是有一些要求,JDK,Eclipse,ADT,CDT,Android SDK,Android NDK,交叉编译环境,Linux 内核源代码,Android源代码,用于调试开发板串口的工具minicom,当然开发板也是必需的了。真实体会到Git的重要性,因为想要获取开源的源代码,必须要使用Git,而且Linux内核完全是由Git管理的。Git是对源代码进行管理,在使用之前需要先安装Linux下提供三种方式查看文档:
1.直接使用man查看指定命令的帮助文档,查询完成后可以按q直接退出
2.以文本形式查看指定的文档使用命令:
(1)git help <sub-command>
(2)git get git- (加的是需要查询的命令)
3.查看HTML形式的文档采用的命令:
书中通过一个完整的例子整体来演示git的功能庞大,包括如何创建版本库、提交源代码、创建分支、向远程服务器上传源代码、从远处服务器上获取源代码等技术。
讲到Git托管服务器,第一次听这个名词,书中使用Github来托管刚刚建立的.txt文件,使用之前需要在http://github.com/signup/free页面注册一个免费用户,接着通过提示创建开源项目,然后要上传源代码到Github,上传时需要SSH校验,要使用命令ssh-keygen -t rsa -C” ”,双引号里边写的是注册的邮箱号,然后生成一个密钥文件和一个公钥文件,文件存在之后,需要备份,接着有提示,但是Ubuntu成功完成以上操作仍然不能通过测试,需要向代理身份验证添加RSA身份。可以在Github页面看到上传的文件,还可以找到用于上传的URI。总之这是一次源代码之旅,学到了如何下载和编译Android源代码和Linux 内核源代码。而且还介绍了很多指令,对linux内核学习很有帮助,更进一步了解了所学的内容,真的是书读百变其义自现。
http://www.cnblogs.com/xxyue/
Android深度探索总结的更多相关文章
- Android深度探索(卷1)HAL与驱动开发 虚拟环境的安装
前言: 最近在看<Android深度探索(卷1)HAL与驱动开发>安装随书带的虚拟环境浪费了很多时间,说是虚拟环境的安装倒不如说是虚拟环境的导入,其实没什么技术含量,也没有什么复杂的,只是 ...
- 《Android深度探索》(卷1)HAL与驱动开发读后感:
第一章:安卓系统移植与驱动开发概述 全书分为4篇,分别从搭建开发环境,Linux驱动和Android HAL的基础知识,开发Linux驱动的高级技术和分析典型的Linux驱动源代码4个方面介绍Andr ...
- Android深度探索(卷1)HAL与驱动开发
第一章 介绍Android驱动开发和移植技术 主要对android和linux做了总体的介绍,让我们有了个感性的认识. 一.Android的四层系统架构: a) Linux内核:Android是基于L ...
- Android深度探索--HAL与驱动开发----第九章读书笔记
Google为Android加入HAL主要有如下的目的. 统一硬件的调用接口.由于HAL 有标准的调用接口,所以可以利用HAL屏蔽Linux 驱动复杂.不统一的接口. 解决了GPL版权问题.由于Lin ...
- Android深度探索--HAL与驱动开发----第八章读书笔记
通过蜂鸣器的实现原理,实现一个完整的蜂呜器驱动,可以打开和关闭蜂鸣器. PWM驱动的实现方式不同于LED驱动, PWM 驱动将由多个文件组成.这也是大多数 Linux 驱动的标准实现方式. 刚开始是L ...
- Android深度探索--HAL与驱动开发----第五章读书笔记
第五章主要学习了搭建S3C6410开发板的测试环境.首先要了解到S3C6410是一款低功耗.高性价比的RISC处理器它是基于ARMI1内核,广泛应用于移动电话和通用处理等领域. 开发板从技术上说与我们 ...
- Android深度探索--HAL与驱动开发----第四章读书笔记
1. 下载.编译.测试源代码 创建存放下载文件的目录(repo) 下载repo脚本文件 创建用于存放源代码的目录 开始下载源代码. 2. 源代码目录含义摘要 Abi 应用程序二进制接口 Device ...
- Android深度探索--HAL与驱动开发----第二章读书笔记
1. 底层开发工具包括: JDk6或者以上版本:Eclipse3.4或以上版本:ADT(用于开发Android应用程序),CDT(用于开发AndroidNDK程序):Android SDK:Andro ...
- Android深度探索--HAL与驱动开发----第一章读书笔记
1. Android的系统架构有四层,它的发展目前来说 是比较成熟的,流行于目前的市场.其架构包括四层(linux内核.C/C++代码库.Android SDK API.应用程序). 2. 驱动是直接 ...
随机推荐
- Jeasyui的datagrid前端分页要点
Jeasyui的分页有两种方式: 1. 服务器端分页,是真正的分页,datagridview的pager会自动把pageSize和pageNum传到后台,后台根据根据pageSize和pageNum构 ...
- html表格合并单元格的运用实例
效果图: 实现代码: <!DOCTYPE html><html><head><meta charset="UTF-8"><ti ...
- [软件工程基础]2017.11.06 第十次 Scrum 会议
具体事项 项目交接燃尽图 每人工作内容 成员 已完成的工作 计划完成的工作 工作中遇到的困难 游心 #62 调试生成报告代码:#60 整理物理网站上的实验流程:#71 撰写报告生成搭建文档: 李煦通 ...
- 使用CSS3的translate和transition功能,控制一个两个div块的联动
之前的工作有接触到一些css3的新特性.div块的移动和回到初始位置,可以利用在开发中的很多地方.这里记录下来,下次就不用辛苦的灾区百度了. <html> <head> < ...
- 安卓H5软键盘遮挡输入框
由于安卓app内嵌入H5页面,webview对于软键盘没有处理(如果不是产品强烈要求建议不要处理这种拆东墙补西墙的问题,因为其他的手机上可能会出现已经优化软键盘的情况) 1.input下方还有多余空位 ...
- Redis hash(哈希)
Redis hash可储存多个键值对,适合储存对象的属性. 1.hset key fieldName fileValue //hset即hash set,set这里是设置的意思.往hash中添加 ...
- 【转】HTTPS系列干货(一):HTTPS 原理详解
HTTPS系列干货(一):HTTPS 原理详解 前言 HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),其实 HTTPS 并 ...
- Java分页下载
需求.提供公共的可以按照一定条件查询出结果,并提供将查询结果全部下载功能(Excel.CSV.TXT),由于一次性查出结果放到内存会占用大量内存.需要支持分页模式查询出所有数据. 实现思路 1.在公共 ...
- 浏览器兼容之条件注释,cssHack
对于形形色色的浏览器,随之而来的就是一些兼容问题,大多应该都是IE下的兼容问题,因为任何浏览器下出现渲染不一致都极有可能是我们自己的结构或样式不符合W3C的某些要求,或者说违背了浏览器的某些规则而先造 ...
- Linux常用操作详解
第1章 Linux命令基础 1.1 习惯 操作前备份,操作后检查 1.2 简单目录结构 一切从根开始,与windows不同 1.3 规则 [root@znix ~]# [用户名@主机名 你在哪]# 1 ...