安卓体系结构简介
学习目标
- 了解 Android 体系结构
- 掌握 Android开发环境搭建
- Android程序结构 与 Android的打包过程
Android的发展史
-
2008年9月 谷歌公司 发布Android 的第一个版本Android 1.1
-
2009年4月30日,Android 1.5
-
2009年9月5日 , Android 1.6
-
2012年 Android 3.x 和 Android 4.x
-
2015年 Android 5.x
-
2017年 google 发布 koltin 语言也可以作为Android的开发语言
-
最新版本 Android 11
小结
- Android 为 Google 研发发布 2008年 9 月发布的第一个Android版本
- 最新的Android版本为 Android 11
- 可以用于Android的开发语言有 Java 和 koltin
各个 Android 版本市场占有率 2020年4月数据
Android体系结构
Android系统在底层建立在Linux系统之上
主要由5部分组成,即应用程序、应用程序框架、函数库、Android运行时和Linux内核。
应用程序层
- Android的应用程序通常涉及用户界面和用户交互,这类程序是用户实实在在能感觉得到的。Android的应用程序一般用 Java 进行编写。
应用程序框架
- 这一层是编写Google发布核心应用时所使用的API框架,开发人员同样可以使用这些框架来开发自己的应用程序,但必须遵守其框架的开发原则。
-
Views(UI组件) 【视图】
可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textBoxes),按钮(buttons),甚至可嵌入的web浏览器。
-
Content Providers 【内容提供器】
使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据
-
Resource Manager 【资源管理器】
提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。
-
Notification Manager 【通知管理器】
使得应用程序可以在状态栏中显示自定义的提示信息。
-
Activiy Manager 【活动管理器】
用来管理应用程序生命周期并提供常用的导航回退功能。
系统运行库层
程序库
- Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。
以下是一些核心库:
-
系统C库——一个从BSD继承来的标准C系统函数库(libc),它是专门为基于embeddedlinux的设备定制的。
-
媒体库——基于PacketVideoopencore;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。
-
SurfaceManager——对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。
-
LibWebCore——一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。
-
SGL——底层的2D图形引擎
-
3Dlibraries——基于OpenGLES1.0APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。
-
FreeType——位图(bitmap)和矢量(vector)字体显示。
-
SQLite——一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
Android运行库
- Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。
- 每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。
- Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的“dx”工具转化成.dex格式由虚拟机执行。
- Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。
Linux内核层
开发环境搭建
- 开发工具 Android Studio
- 版本 3.6 ~ 4.0
安卓官网超链接
安卓官网超链接