天天看點

閱讀徐宜生《Android群英傳》的筆記——第1章 Android系統與系統架構1.1 Google 生态系統1.2 Android 系統架構1.3 Android App 元件架構1.4 Android 系統源代碼目錄與系統目錄

  • 1 Google 生态系統
  • 2 Android 系統架構
  • 3 Android App 元件架構
  • 4 Android 系統源代碼目錄與系統目錄

1.1 Google 生态系統

……(省略)

1.2 Android 系統架構

從宏觀上講,Android是一個移動作業系統,但這是一個很寬泛的概念。下面是一張Android系統架構的經典示意圖,它将Android大緻分為了四層,即Linux核心層、庫和運作時、Framework層和應用層。Android的體系架構鼓勵系統元件重用,共享元件間的資料,并且定義元件間的通路權限控制。可以說,這些層次結構即是互相獨立,又是互相關聯的。

閱讀徐宜生《Android群英傳》的筆記——第1章 Android系統與系統架構1.1 Google 生态系統1.2 Android 系統架構1.3 Android App 元件架構1.4 Android 系統源代碼目錄與系統目錄

圖:Android系統架構

有人說,Android是一個用于連接配接裝置的軟體集合,下圖就代表一個最抽象的Android系統架構。

閱讀徐宜生《Android群英傳》的筆記——第1章 Android系統與系統架構1.1 Google 生态系統1.2 Android 系統架構1.3 Android App 元件架構1.4 Android 系統源代碼目錄與系統目錄

圖:Android架構總覽

下面就一一分析:

閱讀徐宜生《Android群英傳》的筆記——第1章 Android系統與系統架構1.1 Google 生态系統1.2 Android 系統架構1.3 Android App 元件架構1.4 Android 系統源代碼目錄與系統目錄
閱讀徐宜生《Android群英傳》的筆記——第1章 Android系統與系統架構1.1 Google 生态系統1.2 Android 系統架構1.3 Android App 元件架構1.4 Android 系統源代碼目錄與系統目錄

Dalvik:Google公司自己設計用于Android平台的Java虛拟機。

ART:全稱是Android Runtime,Google Android 4.4系統新增的一種應用運作模式。

閱讀徐宜生《Android群英傳》的筆記——第1章 Android系統與系統架構1.1 Google 生态系統1.2 Android 系統架構1.3 Android App 元件架構1.4 Android 系統源代碼目錄與系統目錄
閱讀徐宜生《Android群英傳》的筆記——第1章 Android系統與系統架構1.1 Google 生态系統1.2 Android 系統架構1.3 Android App 元件架構1.4 Android 系統源代碼目錄與系統目錄

圖:Android App Framework(Android應用程式架構)

閱讀徐宜生《Android群英傳》的筆記——第1章 Android系統與系統架構1.1 Google 生态系統1.2 Android 系統架構1.3 Android App 元件架構1.4 Android 系統源代碼目錄與系統目錄
閱讀徐宜生《Android群英傳》的筆記——第1章 Android系統與系統架構1.1 Google 生态系統1.2 Android 系統架構1.3 Android App 元件架構1.4 Android 系統源代碼目錄與系統目錄

圖:Android Standard Libraries(Android标準庫)

閱讀徐宜生《Android群英傳》的筆記——第1章 Android系統與系統架構1.1 Google 生态系統1.2 Android 系統架構1.3 Android App 元件架構1.4 Android 系統源代碼目錄與系統目錄
閱讀徐宜生《Android群英傳》的筆記——第1章 Android系統與系統架構1.1 Google 生态系統1.2 Android 系統架構1.3 Android App 元件架構1.4 Android 系統源代碼目錄與系統目錄

圖:Android NDK App

閱讀徐宜生《Android群英傳》的筆記——第1章 Android系統與系統架構1.1 Google 生态系統1.2 Android 系統架構1.3 Android App 元件架構1.4 Android 系統源代碼目錄與系統目錄

圖:Android SDK App

閱讀徐宜生《Android群英傳》的筆記——第1章 Android系統與系統架構1.1 Google 生态系統1.2 Android 系統架構1.3 Android App 元件架構1.4 Android 系統源代碼目錄與系統目錄

1.3 Android App 元件架構

前面講解了Android的系統架構,而在應用層,Android的App元件架構,通常就是我們所說的Android四大元件,指的是Activity、BroadCastReceiver、ContentProvider和Service,它們是組成一個Android App的最基本元素。

閱讀徐宜生《Android群英傳》的筆記——第1章 Android系統與系統架構1.1 Google 生态系統1.2 Android 系統架構1.3 Android App 元件架構1.4 Android 系統源代碼目錄與系統目錄

1.4 Android 系統源代碼目錄與系統目錄

閱讀徐宜生《Android群英傳》的筆記——第1章 Android系統與系統架構1.1 Google 生态系統1.2 Android 系統架構1.3 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 的檔案目錄結構。

閱讀徐宜生《Android群英傳》的筆記——第1章 Android系統與系統架構1.1 Google 生态系統1.2 Android 系統架構1.3 Android App 元件架構1.4 Android 系統源代碼目錄與系統目錄

關于 Eclipse 和 Android Studio 的檔案目錄差別,在第2章中會進行詳細講解,簡單來說,大家隻需要了解一點,Android Studio 中的 Project 就相當于 Eclipse 中的Workspace,而 Android Studio 中的 Module 就相當于 Eclipse 中的 Project 就可以了。

總體上來看,Android Application 的目錄是比較清晰、簡單的,這也得力于 Android 底層做的良好的封裝和 IDE 的強大。