前面你們已經熟悉了什麼是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的最低版本信息、入口界面 、涉及的軟件、須要的權限信息、資源文件等等信息。