Android系统深度游
项目原因,让我们必须深入探索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系统深度游相关推荐
- android平板 深度学习,这款叫Remix的设备,或许可以拯救安卓平板
(图片来自于魏布斯评测视频"Remix平板上手使用体验") 现今平板市场,已呈现出苹果谷歌微软三分天下之势. 然而,相较于其他两者,安卓平板却并面临着严重的危机,即便自2013年第 ...
- 一加android系统用电量大,一加6T被曝将预装Android P 这一点其它品牌比不了
原标题:一加6T被曝将预装Android P 这一点其它品牌比不了 近年来国产手机群雄崛起,不仅在国内获得了很高的呼声,一些品牌在国外也拥有着很高的热度,从以往的三星.苹果手中抢占了很多的份额,如今三 ...
- 行车记录仪android,车叮咚:一款搭载 Android 系统的行车记录仪是怎样的?
市面上关于行车记录仪.OBD 盒子以及车机系统的产品有很多品类,但是大多功能单一,可是如果将以上三种功能进行整合并且以后视镜形态出现的话,会有人感兴趣吗? 这款产品叫做车叮咚,创始人张昊告诉雷锋网(公 ...
- 国内定制android系统吗,同样都是基于Android系统 国产定制系统差异有多大?
目前国产手机的操作系统都是基于谷歌的Android系统深度定制的,每个厂商在进行定制时便产生了差异,也有了自家的特色功能.现在笔者手上就有荣耀V10和vivo Z3两款手机,所以今天就给大家带来这两款 ...
- 坚果pro android版本,好用得不像安卓 | 坚果Pro系统深度体验
原标题:好用得不像安卓 | 坚果Pro系统深度体验 毫无疑问,锤子科技基于Android深度定制的SmartisanOS系统已经让不少锤粉爱不释手,同时也成为这次坚果Pro的重要卖点. 所以继上次全面 ...
- 《Android深度探索(卷2):系统应用源代码分析与ROM定制》——第6章,第6.4节分析第一个Android系统应用:计算器...
本节书摘来自异步社区<Android深度探索(卷2):系统应用源代码分析与ROM定制>一书中的第6章,第6.4节分析第一个Android系统应用:计算器,作者 李宁,更多章节内容可以访问云 ...
- Android系统架构开篇(深度好文,值得收藏,kotlin线程安全
二.Android架构 Google提供的5层架构图很经典,但为了更进一步透视Android系统架构,本文更多的是以进程的视角,以分层的架构来诠释Android系统的全貌,阐述Android内部的环环 ...
- 凤凰os可以运行linux软件吗,把凤凰系统装进U盘里,打造PC上的可移动android系统...
你试过在电脑上流畅体验"吃鸡"等手游大作吗?而且还可以随身携带,即插即用? 那就来体验下凤凰系统吧,之前也给伙伴们安利过: 手机玩游戏不爽?来试试Phoenix OS凤凰系统 凤凰 ...
- android启动流程之lk,Android系统之LK启动流程分析(一)
1.前言 LK是Little Kernel的缩写,在Qualcomm平台的Android系统中普遍采用LK作为bootloader,它是一个开源项目,LK是整个系统的引导部分,所以不是独立存在的,但是 ...
最新文章
- 使用Code First Migrations依据代码更新数据库结构
- 009-mac下记事本工具 sublime text3
- 环形链表II—leetcode142
- squid之反向代理服务器
- OS- -内存之地址空间
- linux中刻录iso到光盘
- 【算法竞赛学习】金融风控之贷款违约预测-特征工程
- PHP多坐席客服聊天系统源码完美定制版 带原生app+视频教程
- 黑客是怎样买彩票的?
- java里面的内存机制_Stack vs. Heap:了解 Java 的内存分配机制
- 郑州大学linux安装锐捷客户端
- @property的用法
- win8.1安装密钥
- c++直方图匹配终极版,支持任意通道数(opencv版本)
- 计算机图形学教程动画实验报告,计算机图形学画圆实验报告.doc
- 2019年‘泰迪杯’数据分析职业技能大赛A题——个人代码分享
- 如何做好国产三维CAD软件的研发?
- 7.查找——数据结构(严蔚敏 C语言版)
- AWS上配置Cisco ASAv AnyConnect
- 聊聊我是如何拿到这么多大厂offer的