《深入理解Android:Wi-Fi,NFC和GPS》章节连载[节选]--第一章 准备工作

  次阅读 作者:智能小宝 来源:互联网 2015-09-28 16:15 我要评论(0)

首先感谢各位兄弟姐妹们的耐心等待。本书预计在3月中旬上市发售。从今天开始,我将在博客中连载此书的一些内容。注意,此处连载的是未经出版社编辑的原始稿件,所以样子会有些非专业。

[要点:建议那些还在拿vim看代码的兄弟,赶紧用source insight或者eclipse吧。

对于搞Framework的人,必须要掌握的技能就是用Eclipse调试System_server代码

最后,没有代码,airpcap工具的兄弟,请下载本书资源]

第一章准备工作

本章主要内容:

介绍本书的内容组成;工具使用;本书资源下载说明。1.1Android系统架构

Android是Google公司推出的一款手机开发平台。该平台本身是基于Linux内核的,图1-1展示了这个系统的架构。

图1-1Android系统架构

从图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.1Source Insight的使用

Source Insight是阅读源码的必备工具,是一个Windows下的软件,在Linux平台上可通过wine安装。下面介绍一下如何在Source Insight中导入源码。

使用Source Insight时,需要新建一个源码工程,通过菜单项Project→New Project,可指定源码的目录。

提示特别提醒读者的是,很多读者常把Android所有源代码都加到工程中,这将导致Source Insight运行速度非常慢。

实际上,只需要将当前分析的源码目录加到工程即可。例如,新建一个Source Insight工程后,只把源码/framework/base目录加进去了。另外,当一个目录下的源码分析完后,可以通过Project→Add and Remove Project Files选项把无须再分析的目录从工程中去掉。上述步骤如图1-2所示。

图1-2添加或删除工程中的目录

从图1-2右边的框可知:Source Insight支持动态添加或删除目录。通过这种方式可极大减少Source Insight的工作负担。

提示:一般首先把framework/base下的目录加到工程,以后如有需要,再把其他目录加进来。另外,关于Source Insight其他使用技巧,读者可参考《深入理解Android:卷1》第1章。

1.2.2Eclipse的使用

笔者一般使用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 Project,弹出如图1-4所示的对话框。设置Location为Android 4.2源码所在路径。

图1-4导入Android源码示意图

由于Android 4.2源码文件较多,导入过程会持续较长一段时间。

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...