- 1 Google 生态系統
- 2 Android 系統架構
- 3 Android App 元件架構
- 4 Android 系統源代碼目錄與系統目錄
1.1 Google 生态系統
……(省略)
1.2 Android 系統架構
從宏觀上講,Android是一個移動作業系統,但這是一個很寬泛的概念。下面是一張Android系統架構的經典示意圖,它将Android大緻分為了四層,即Linux核心層、庫和運作時、Framework層和應用層。Android的體系架構鼓勵系統元件重用,共享元件間的資料,并且定義元件間的通路權限控制。可以說,這些層次結構即是互相獨立,又是互相關聯的。
圖:Android系統架構
有人說,Android是一個用于連接配接裝置的軟體集合,下圖就代表一個最抽象的Android系統架構。
圖:Android架構總覽
下面就一一分析:
Dalvik:Google公司自己設計用于Android平台的Java虛拟機。
ART:全稱是Android Runtime,Google Android 4.4系統新增的一種應用運作模式。
圖:Android App Framework(Android應用程式架構)
圖:Android Standard Libraries(Android标準庫)
圖:Android NDK App
圖:Android SDK App
1.3 Android App 元件架構
前面講解了Android的系統架構,而在應用層,Android的App元件架構,通常就是我們所說的Android四大元件,指的是Activity、BroadCastReceiver、ContentProvider和Service,它們是組成一個Android App的最基本元素。
1.4 Android 系統源代碼目錄與系統目錄
ADB:全稱是Android Debug Bridge,即安卓調試橋,就是起到調試的作用,說白了就是Debug工具。
(1)、/system/app/:這裡面放的是一些系統的App。
(2)、/system/bin/:這裡面放的是Linux自帶的控件。
(3)、/system/build.prop:這裡記錄的是系統的屬性資訊。
(4)、/system/fonts/:系統字型存放目錄root後可下載下傳TTF格式字型替換原字型,達到修改系統字型的效果。
(5)、/system/framework/:系統的核心檔案、架構層。
(6)、/system/lib/:存放幾乎所有的共享庫(.so)檔案。
(7)、/system/media/:該目錄用來儲存系統提示音、系統鈴聲。
(8)、/system/usr/:該目錄用來儲存使用者的配置檔案,如鍵盤布局、共享、時區檔案等。
(9)、/data/app/:data目錄包含了使用者的大部分資料資訊。其中,/data/app/這個目錄包含了使用者安裝的App或者更新的App。
(10)、/data/data/:這個目錄應該是開發者通路最多的目錄了,這裡包含了App的資料資訊、檔案資訊、資料庫資訊等,以包名的方式來區分各個應用。
(11)、/data/system/:這個目錄包含了手機的各項系統資訊。
(12)、/data/misc/:這個目錄儲存了大部分的Wi-Fi、VPN資訊。
1.4.3 Android App檔案目錄
下面我們以Android Studio IDE為開發環境,來分析一下Android Application 的檔案目錄結構。
關于 Eclipse 和 Android Studio 的檔案目錄差別,在第2章中會進行詳細講解,簡單來說,大家隻需要了解一點,Android Studio 中的 Project 就相當于 Eclipse 中的Workspace,而 Android Studio 中的 Module 就相當于 Eclipse 中的 Project 就可以了。
總體上來看,Android Application 的目錄是比較清晰、簡單的,這也得力于 Android 底層做的良好的封裝和 IDE 的強大。