当前位置:首页 > 嵌入式 > Android系统实战开发
[导读]Android系统很庞大,所有我们学习的都只是冰山一角。记得刚开始接触Android时,发现完全不知道如何入门去学习Android,很迷茫,很无措。所以这里大概说下Android系统的框架,希望有助于初学者对Android的整体了解。



这里先附上谷歌一张Android系统框架图,方便大家查看。从图中可以看出,Android系统大体可以分为五层,从上往下分别是:

Applications 层,Framework层,Libraries层,Hardware层,Linux层。

Applications层

这一层是app开发工程师接触最多的一层,与用户直接交互的就是这些应用程序。

应用程序的开发采用的是Java语言,这一层是一个被广大Java开发者热捧的Java世界。这个世界并不是完全独立,它的运转依赖于Native世界,同时也需要framework层作为基石。

主要开发工具就是Android Studio,很强大,用得很爽。

Framework层

这一层大部分是由Java语言编写,封装了很多功能,为Applications层提供各种各样的API,满足业务需求。通常我们看到的PMS,AMS,WMS等,就是在这一层进行实现。

一般定制功能或者解决系统bug的时候,需要对framework层代码进行编辑,我比较喜欢用vim编辑,然后在系统环境中进行编译。

Libraries层

这一层主要提供动态库,Android运行时库、Dalvik虚拟机等。这一层大部分都是用C或者C++写的,所以这一层可以简单把它看成是Native层。

可以单编成so库,然后推进机器端进行调试。

Hardware层

Android系统的硬件抽象层(全称Hardware Abstract Layer, 简称HAL)运行在用户空间中,它向下屏蔽硬件驱动模块的实现细节,向上提供硬件访问服务。通过硬件抽象层,Android系统分为两层来支持硬件设备,其中一层实现在用户空间(User Space),另外一层实现在内核空间(Kernel Space)。传统的Linux系统把对硬件的支持完全实现在内核空间,即把对硬件的支持完全实现在硬件驱动模块中。

Android分两层去控制硬件的原因,在于保护商家的利益。因为Linux是完全开源的,Linux部分的代码需要公开,但这样一来,关于一些Linux内核驱动的控制逻辑细节也会被公开。所以就通过两层来实现,一层是位于user space空间,专门实现对硬件的控制逻辑,这一层不作公开。而另一层则是在Linux内核中实现,这一层只是对硬件的一些简单读写操作,例如读写硬件寄存器的通道等。这一层可以被公开。

Linux层

包含了Linux内核和一些驱动模块(比如LED驱动,USB驱动,wifi驱动等)。这一层主要是跟硬件打交道,调驱动居多。

增加一个驱动或者debug时,可以单独编译kernel,然后单独烧录入系统。

结语

如上就是对Android系统框架的一个简单描述,简单介绍了各层大概做的事情。所以如果是刚开始接触Android的同学,建议先从Applications层,搭建第一个app(hello world)开始。因为这一层有比较方便好用的工具AS,初学者只需要上网大概了解下AS的安装和项目创建过程,就能创建自己的app。然后再慢慢去学习Java语法,很快就能入门。

至于其他层,可以作为后续能力提升,再向下延申学习。

关键在于坚持和学习。

最后

我在微信公众号也有写文章,更新比较及时,有兴趣者可以扫描如下二维码,或者微信搜索【Android系统实战开发】,关注有惊喜哦!



声明:该篇文章为本站原创,未经授权不予转载,侵权必究。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭