前面你们已经熟悉了什么是Android,并且在 【Xamarin开发 Android 系列 4】 Android 基础知识 一文里,开篇就上图,展现了Android的架构。html
大概也就4层java
APP--应用程序层浏览器
Framework --公共架构层网络
Native Libs + Dalvik VM---系统类库+虚拟机架构
Linux Kernel--Linux内核app
Android 是一个基于Linux开发的能够运行在智能手机 平板电脑设备上 的系统。如 Android4.0 基于的是Linux2.6 内核。post
在Native Libs 中 提供了一些服务类库,基本都是基于C/C++开发的开源类库,提供了 经常使用的功能封装url
Dalvik 虚拟机,提供对Android程序 也就是Java IL 代码 .class 文件的解析。解析过程以下:.net
Framework层 提供了对设备操做的服务接口,SDK,均是基于java的实现,提供 对摄像头 、Wifi 、定位服务 、系统资源等其余的服务调用的SDK封装实现,供开发APP的开发者,进行调用。xml
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的最低版本信息、入口界面 、涉及的软件、须要的权限信息、资源文件等等信息。