前面大家已经熟悉了什么是Android,而且在 【Xamarin开发 Android 系列 4】 Android 基础知识 一文里,开篇就上图,展示了Android的架构。
大概也就4层
APP--应用程序层
Framework --公共架构层
Native Libs + Dalvik VM---系统类库+虚拟机
Linux Kernel--Linux内核
Android 是一个基于Linux开发的可以运行在智能手机 平板电脑设备上 的系统。如 Android4.0 基于的是Linux2.6 内核。
在Native Libs 中 提供了一些服务类库,基本都是基于C/C++开发的开源类库,提供了 常用的功能封装
Dalvik 虚拟机,提供对Android程序 也就是Java IL 代码 .class 文件的解析。解析过程如下:
Framework层 提供了对设备操作的服务接口,SDK,均是基于java的实现,提供 对摄像头 、Wifi 、定位服务 、系统资源等其他的服务调用的SDK封装实现,供开发APP的开发者,进行调用。
App 层 也就是应用层 ,通讯录 电话 短信 邮箱 Web浏览器等应用,提供用户操作界面。
所以整合来看,Android 的开发模式是经典的 多层 模式, APP 是呈现层 Framework 提供基本功能的封装 Native Lib +Dalvik 虚拟机类似 .netFramework 的CLR。
最终将可执行指令发送到Linux内核,对Linux系统操作,Linux系统中包含了最底层的对硬件的调用管理,这就类似 Windows程序的 SDK COM+ 调用方式。
-----------------------------以上是Android架构的基本,我们实际中开发的仅仅在App层跟Framework层-------------------------------------
使用Framework 提供的SDK 进行 Application的开发。
我们重点 强调App的开发。
applicaton 开发完毕后,是以.apk的 压缩包形势作为安装包。压缩包中包含 程序所需要的编译好的指令文件(.dex) 、资源文件、和一个清单文件(AndroidManifest.xml)
以及所需要的类库。安装包 可以给予网络地址、 URL 邮件地址 、或者内存卡的形式进行程序的安装。
程序包的最重要的应该属于哪个清单文件,清单文件 包含了程序的Android的最低版本信息、入口界面 、涉及的软件、需要的权限信息、资源文件等等信息。