- 1、本文档共244页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
深入理解AndroidWi-FiNFC和GPSx
深入理解Android:Wi-Fi NFC 和GPS
第一章 准备工作
本章主要内容:
介绍本书的内容组成;
工具使用;
本书资源下载说明。
1.1 Android 系统架构
Android 是Google 公司推出的一款手机开发平台。该平台本身是基于Linux 内核的,图1-1 展示了这
个系统的架构。
图1-1 Android 系统架构
从图1-1 可知,Android 系统大体可分为四层,从下往上依次是:
Linux 内核层,目前Android 4.4 (代号为KitKat )基于Linux 内核3.4 版本。
Libraries 层,这一层提供动态库 (也叫共享库)、Android 运行时库、Dalvik 虚拟机[1]等。从
编程语言上来说,这一层大部分都是用C 或C++写的,所以也可以简单地把它看成是Native
层。
Libraries 层之上是Framework 层,这一层大部分用Java 语言编写。它是Android 平台上Java
世界的基石。
Framework 层之上就是Applications 层了,和用户直接交互的就是这些应用程序,它们都是
用Java 开发的。
1.2 工具使用
本节介绍Android 开发和源码研究过程中的三件利器。
1.2.1 Source Insight 的使用
Source Insight 是阅读源码的必备工具,是一个Windows 下的软件,在Linux 平台上可通过wine 安装。
下面介绍一下如何在Source Insight 中导入源码。
使用Source Insight 时,需要新建一个源码工程,通过菜单项Proj ect New Proj ect,可指定源码的目
录。
提示 特别提醒读者的是,很多读者常把Android 所有源代码都加到工程中,这将导致Source Insight
运行速度非常慢。
实际上,只需要将当前分析的源码目录加到工程即可。例如,新建一个Source Insight 工程后,只把
源码/framework/base 目录加进去了。另外,当一个目录下的源码分析完后,可以通过Proj ect Add and
Remove Proj ect Files 选项把无须再分析的目录从工程中去掉。上述步骤如图1-2 示。
图1-2 添加或删除工程中的目录
从图1-2 右边的框可知:Source Insight 支持动态添加或删除目录。通过这种方式可极大减少Source
Insight 的工作负担。
提示:一般首先把framework/base 下的目录加到工程,以后如有需要,再把其他目录加进来。另外,
关于Source Insight 其他使用技巧,读者可参考 《深入理解Android :卷1》第1 章。
1.2.2 Eclipse 的使用
笔者一般使用Source Insight 来查看Native 代码,而Android 推荐的集成开发工具Eclipse 却既能查看
Java 代码和Native 代码,也能调试系统核心进程。
1. 导入Android Framework Java 源码
注意,这一步必须编译完整个Android 源码才可以实施,步骤如下:
1) 将Android 源码目录/development/ide/eclipse/.classpath 复制到Android 源码根目录。
2) 打开Android 源码根目录下的.classpath 文件。该文件是供Eclipse 使用的,其中保存的是源码目录
中各个模块的路径。
由于我们只关心Framework 相关的模块,因此可以把一些不是Framework 的目录从该文件中注释掉。
同时,去掉不必要的模块也可加快Android 源码导入速度。图1-3 示为该文件的部分内容。
图1-3 .classpath 文件内容示意
然后,请读者单击Eclipse 菜单栏New-Java Proj ect,弹出如图1-4 示的对话框。设置Location 为
Android 4.2
您可能关注的文档
- 海南高等学校试验教学示范中心申请书试验设备-海南大学.PDF
- 海南降香黄檀害虫种类分布及危害症状调查-生物安全学报.PDF
- 海尔彩电全新IC手册.PDF
- 海尔与我.PDF
- 海岸地区全球海洋观测系统战略计划执行要求.PDF
- 海峡两岸中医药文化展示馆大型漆画凤鸣台海通过专家验收评审.PDF
- 海岸线LQ-630K操作手册.PDF
- 海峡两岸安全·能源·环境(SEE)学术会议学术报告日程表pdf.PDF
- 海岸水域生态环境-教育大集.PDF
- 海岸防风林带空隙对微气候影响之研究AStudyonthe-水土保持学系.PDF
- 国际标准 IEC 61169-47:2015 EN Radio-frequency connectors - Part 47: Sectional specification for radio-frequency coaxial connectors with clamp coupling, typically for use in 75 Ω cable networks (type F-Quick) 无线电频率连接器 - 第47部分:用于无线电频率同轴连接器的部分规范,.pdf
- 国际标准 IEC 61158-5-17:2007 EN 工业通信网络 - 现场总线规范 - 第5-17部分:应用层服务定义 - 类型17元素 Industrial communication networks - Fieldbus specifications - Part 5-17: Application layer service definition - Type 17 elements.pdf
- 国际标准 IEC 61158-5-17:2007 EN Industrial communication networks - Fieldbus specifications - Part 5-17: Application layer service definition - Type 17 elements 工业通信网络 - 现场总线规范 - 第5-17部分:应用层服务定义 - 类型17元素.pdf
- 国际标准 IEC 60939-2-2:2004 EN_D 完整抑制无线电干扰滤波器单元-第2-2部分:空白详细规范-用于抑制电磁干扰的被动滤波器单元-仅需进行安全测试的滤波器(安全测试) Complete filter units for radio interference suppression - Part 2-2: Blank detail specification - Passive filter uits for electromagnetic interference .pdf
- 国际标准 IEC 60939-2-2:2004 EN_D Complete filter units for radio interference suppression - Part 2-2: Blank detail specification - Passive filter uits for electromagnetic interference suppression - Filters for which safety tests are required (safety.pdf
- 国际标准 IEC 60670-23:2006 EN-FR Boxes and enclosures for electrical accessories for household and similar fixed electrical installations - Part 23: Particular requirements for floor boxes and enclosures 家用和类似固定电气安装用电器配件的盒子与封闭装置——第23部分:地板箱和封闭装置的要求.pdf
- 国际标准 IEC 60670-23:2006 EN-FR 家用和类似固定电气安装用电器配件的盒子与封闭装置——第23部分:地板箱和封闭装置的要求 Boxes and enclosures for electrical accessories for household and similar fixed electrical installations - Part 23: Particular requirements for floor boxes and enclosures.pdf
- 2024版完整的货物运输合同书.doc
- 2024版无财产的离婚协议书书模板.doc
- 2024版委托融资租赁合同书书.doc
文档评论(0)