项目原因,让我们必须深入探索Android系统,完成对之前的我们来说比较艰巨的任务。这样,我们开启了Android深度游。

Android这个系统,应用层开发还是比较舒服的,Google把一切都安排好了,只要会Java就可以开发出绚烂多彩的应用。而它的内部还是比较庞大的,啃动它还是比较困难的,虽然它是open的,但面对海洋一般的代码,难免会迷失。

先看看Android系统的架构图

从下到上共分四层:Linux kernel、libraries、application framework、applications

Android是基于Linux内核的,这是第一层。这就意味着你要有Linux的经验。Lniux内核与Linux驱动的知识是少不了的。对于内核相关的书籍,个人正在看两本国人写的书《Linux内核完全注释》和《Linux内核源代码情景分析》。

前一本书的作者是赵炯,主要分析0.11版的kernel。从代码量较少的但比较成型的内核说起,容易理解也不会被庞大的代码量所吓到。内面对linux历史背景和一些原理都有讲解,这样比干巴巴的分析代码强多了,也易于理解和消化。

另一本书的作者阵容还是很强大的。作者毛德操与胡希明都是教授级的人物,毛先生现已定居美国,而此书是两人联袂把当时共事时的心得与体会都分享出来,其实也是对过往岁月的一种纪念,一种友谊万岁的情怀。本书针对kernel 2.4.0,超级详细的理清脉络,从情景出发分析探寻kernel世界。是本不可多得的国人经典。

驱动方面,其实是整个内核代码量最多的部分。但我最近都是在网上找一些资料,并没有深入读书研究,可以延后再办。

第二层是公共库和Android的运行时,Libraries都是很大的题目,有专门的书籍讨论,而我主要把精力放在Android运行时上。

Android运行时是由Dalvik虚拟机和核心库组成的。这方面可以阅读杨丰盛的《Android技术内幕:系统卷》,专门开辟一张来讲虚拟机。别看运行时只占架构图中的一小部分,但它的重要性很高,每个应用程序都是跑在这里的。

第三层是应用框架层,为第四层应用层暴漏API接口。

期间我阅读以下几本书,感觉都能够学到一些东西。都是国人所做。

1.《深入理解Android》(卷1)和(卷2) 邓凡平著。

我的启蒙书。在这里我仔细学习了VOLD等详细分析,至今印象深刻。前后两本,足够带你去Android的内部逛一圈,并且有所收获。把它们放在桌上,随时翻阅,随时收益。从Android框架的初始化开始,走过的所有组件,都有涉猎。但当某一个知识点需要更详细的分析时,感到书中给出的略有些不足。这可以理解,因为知识覆盖面太广,谁也不是各个领域的专家,有不足很正常。

2.《Android技术内幕:系统卷》 杨丰盛著。

此书是我最早入手的,大概是刚刚上市。当时我正在做Android应用开发,由于其太深入到系统内部了,涉及各种驱动,读起来吃力不讨好。放下了,最近捡起来一看,也会找到我想要的,真是庆幸自己当时的选择。

3.《Android内核剖析》 柯元旦

内核剖析,是用来吸引人的,并没有得到大家的共鸣。本书覆盖的知识点很广,但是有些蜻蜓点水,一带而过。最可怕的是,错别字很多,有些都影响到内容的表达了。我的评价不高,大家可以试读一下。

4.《深入剖析Android系统》 杨长刚

印象最深的是Android的启动过程,里面讲的很不错。我之前没有深入分析,读过之后感觉澄清了许多问题,也弥补了之前的无知。读起来也不错,但是时间原因不能精读,放在那里随时翻阅。

最后,贴一张很有营养的图,来自makelinux。

Android系统深度游相关推荐

  1. android平板 深度学习,这款叫Remix的设备,或许可以拯救安卓平板

    (图片来自于魏布斯评测视频"Remix平板上手使用体验") 现今平板市场,已呈现出苹果谷歌微软三分天下之势. 然而,相较于其他两者,安卓平板却并面临着严重的危机,即便自2013年第 ...

  2. 一加android系统用电量大,一加6T被曝将预装Android P 这一点其它品牌比不了

    原标题:一加6T被曝将预装Android P 这一点其它品牌比不了 近年来国产手机群雄崛起,不仅在国内获得了很高的呼声,一些品牌在国外也拥有着很高的热度,从以往的三星.苹果手中抢占了很多的份额,如今三 ...

  3. 行车记录仪android,车叮咚:一款搭载 Android 系统的行车记录仪是怎样的?

    市面上关于行车记录仪.OBD 盒子以及车机系统的产品有很多品类,但是大多功能单一,可是如果将以上三种功能进行整合并且以后视镜形态出现的话,会有人感兴趣吗? 这款产品叫做车叮咚,创始人张昊告诉雷锋网(公 ...

  4. 国内定制android系统吗,同样都是基于Android系统 国产定制系统差异有多大?

    目前国产手机的操作系统都是基于谷歌的Android系统深度定制的,每个厂商在进行定制时便产生了差异,也有了自家的特色功能.现在笔者手上就有荣耀V10和vivo Z3两款手机,所以今天就给大家带来这两款 ...

  5. 坚果pro android版本,好用得不像安卓 | 坚果Pro系统深度体验

    原标题:好用得不像安卓 | 坚果Pro系统深度体验 毫无疑问,锤子科技基于Android深度定制的SmartisanOS系统已经让不少锤粉爱不释手,同时也成为这次坚果Pro的重要卖点. 所以继上次全面 ...

  6. 《Android深度探索(卷2):系统应用源代码分析与ROM定制》——第6章,第6.4节分析第一个Android系统应用:计算器...

    本节书摘来自异步社区<Android深度探索(卷2):系统应用源代码分析与ROM定制>一书中的第6章,第6.4节分析第一个Android系统应用:计算器,作者 李宁,更多章节内容可以访问云 ...

  7. Android系统架构开篇(深度好文,值得收藏,kotlin线程安全

    二.Android架构 Google提供的5层架构图很经典,但为了更进一步透视Android系统架构,本文更多的是以进程的视角,以分层的架构来诠释Android系统的全貌,阐述Android内部的环环 ...

  8. 凤凰os可以运行linux软件吗,把凤凰系统装进U盘里,打造PC上的可移动android系统...

    你试过在电脑上流畅体验"吃鸡"等手游大作吗?而且还可以随身携带,即插即用? 那就来体验下凤凰系统吧,之前也给伙伴们安利过: 手机玩游戏不爽?来试试Phoenix OS凤凰系统 凤凰 ...

  9. android启动流程之lk,Android系统之LK启动流程分析(一)

    1.前言 LK是Little Kernel的缩写,在Qualcomm平台的Android系统中普遍采用LK作为bootloader,它是一个开源项目,LK是整个系统的引导部分,所以不是独立存在的,但是 ...

最新文章

  1. 使用Code First Migrations依据代码更新数据库结构
  2. 009-mac下记事本工具 sublime text3
  3. 环形链表II—leetcode142
  4. squid之反向代理服务器
  5. OS- -内存之地址空间
  6. linux中刻录iso到光盘
  7. 【算法竞赛学习】金融风控之贷款违约预测-特征工程
  8. PHP多坐席客服聊天系统源码完美定制版 带原生app+视频教程
  9. 黑客是怎样买彩票的?
  10. java里面的内存机制_Stack vs. Heap:了解 Java 的内存分配机制
  11. 郑州大学linux安装锐捷客户端
  12. @property的用法
  13. win8.1安装密钥
  14. c++直方图匹配终极版,支持任意通道数(opencv版本)
  15. 计算机图形学教程动画实验报告,计算机图形学画圆实验报告.doc
  16. 2019年‘泰迪杯’数据分析职业技能大赛A题——个人代码分享
  17. 如何做好国产三维CAD软件的研发?
  18. 7.查找——数据结构(严蔚敏 C语言版)
  19. AWS上配置Cisco ASAv AnyConnect
  20. 聊聊我是如何拿到这么多大厂offer的

热门文章

  1. 基于单片机的太阳能杀虫系统
  2. 前端模板引擎——handlebars
  3. mysql+cur+0_如何使用MySQL CURDATE()获得前一天?
  4. Socket编写一个HTTP server程序(源码+运行效果)
  5. NASA今将“彩排”重返月球:不载人发射登月火箭绕月测试
  6. Jeeplus使用备忘
  7. 本地测试php邮件,php – 使用mamp在本地测试电子邮件
  8. vintage分析 风控建模系列 01
  9. 无人机通信协议:MavLink协议使用
  10. 界面设计规范收集 HIG