1.1 android的系統架構linux
android大體可分爲四層結構:linux內核層、系統運行庫層、應用框架層、應用層。android
<1>linux內核層git
android系統基於linux的內核的,這一層爲Andoid設備的各類硬件提供了底層的驅動,如顯示驅動、音頻驅動、照相機驅動、藍牙驅動、Wi-Fi驅動、電源管理等。數據庫
<2>系統運行庫層api
這一層經過一些C/C++的庫來爲Android系統提供了主要的特性支持。如SQLite庫提供了數據庫支持,OpenGl | ES庫提供了3D繪圖的支持,Webkit庫提供了瀏覽器內核的支持等等。瀏覽器
<3>應用層框架緩存
主要提供構建應用程序時可能用到的各類API,Android自帶的一些核心應用就是使用這些api來完成的,開發者也能夠經過這些api來構建本身的應用程序。架構
<4>應用層app
全部安裝在手機上的應用程序都是屬於這一層的,好比聯繫人、短信等程序。框架
1.2 android項目的目錄結構
<1>.gradle和.idea
這兩個目錄下放置的都是Android Stuido自動生成的一些文件
<2>app
項目中的代碼、資源等內容
<3>build
主要包含一些編譯時自動生成的文件。
<4>gradle
這個目錄下包含gradle wrapper的配置文件,使用gradle wrapper的方式不須要提早將gradle下載好,而是會自動根據本地的緩存狀況決定是否須要聯網下載gradle。Android Studio默認沒有啓用gradle wrapper方式,若是須要打開能夠點擊Android Studio的導航欄->File->Setting->Build,Execution,Deployment->Gradle,進行配置更改。
<5>.gitignore
用來將指定的目錄或文件排除在版本控制以外的
<6>build.gradle
這是項目全局的gradle構建腳本,一般這個文件中的內容是不須要更改的
<7>gradle.properties
這個文件是全局的gradle配置文件,在這裏配置的屬性將會影響到項目中全部的gradle編譯腳本。