- Android系統級深入開發
- 韓超 梁泉
- 11字
- 2018-12-29 13:39:22
第1章 Android系統移植開發概述
1.1 Android系統架構和生態系統
1.1.1 Android軟件系統
Android是一個包括操作系統、中間件和關鍵應用的移動設備軟件堆。Android是目前最流行的手機開發平臺,依靠Google的強大開發和媒體資源,Android成為眾多手機廠商競相追逐的對象。
Android系統在推出后,逐漸完善和增加功能。從最初的版本發布后,又陸續發布了Cupcake,Donut,Eclair,Froyo等版本,發布的時候使用Android 1.5、Android 2.0等版本號標示,后面版本對前面的版本兼容,如表1-1所示。每一個版本具有不同的API級別,目前Android的API基本從2到8,這個API級別通常是指Android平臺的Java層的API的接口。
表1-1 Android版本的升級

作為一個開放式的移動設備的平臺,Android包含了眾多的功能和龐大的代碼。其代碼基于Linux內核,在用戶空間又分成本地代碼(C和C++)和Java代碼兩種。從宏觀的角度來看,Android是一個開放的軟件系統,它包含了眾多的源代碼。從下至上,Android系統分成4個層,如圖1-1所示。

圖1-1 Android軟件系統架構
第1層:Linux操作系統及驅動
第2層:本地代碼框架和Java虛擬機
第3層:Java框架
第4層:Java應用程序
Android的第1層由C語言實現,第2層由C和/C++實現,第3、4層主要由Java代碼實現。
第1層和第2層之間,從Linux操作系統的角度來看,是內核空間與用戶空間的分界線。
第2層和第3層之間,是本地代碼層和Java代碼層的接口。
第3層和第4層之間,是Android的系統API的接口。
由于Android系統需要支持Java代碼的運行,這部分內容是Android的運行環境(Runtime),由虛擬機和Java基本類組成。這部分內容通常也可以認為是第2層的一個部分。
第1層次運行于內核空間,第2、3、4層運行于用戶空間。
提示:通常情況下,可以將第1層視為Android的Linux內核,將第2、3、4層視為Android系統。
Android幾個層次的功能如下所示:
Android的操作系統
使用Linux 2.6 內核,包括安全性、內存管理、進程管理、網絡協議棧和驅動模型。Linux內核也同時作為硬件和軟件系統之間的抽象層。
Android本地庫
包含一些C/C++庫,這些庫可以被Android系統中不同的組件使用,它們通過Android應用程序框架為開發者提供服務。
Android運行環境
為Java的運行環境,提供了Java編程語言核心庫的大多數功能,由Dalvik Java虛擬機和基礎的Java類庫組成。Dalvik是Android中使用的Java虛擬機,Dalvik被設計成一個可以同時高效地運行多個虛擬機實例的虛擬系統。
Android應用程序框架
包含了4種基本的組件(活動、服務、廣播接收器、內容提供者),豐富的控件(在Android中稱為視圖),內容提供器,資源管理器,通知管理器,活動管理器等。
Android應用程序
一般由Java語言編寫,核心應用程序和系統一起發布,包括:桌面、電話、短信息、E-mail、日歷、瀏覽器、聯系人管理程序等。
- Visual Basic程序設計(第3版):學習指導與練習
- Linux網絡程序設計:基于龍芯平臺
- Mastering Python Networking
- Mastering Unity 2D Game Development(Second Edition)
- 劍指大數據:企業級數據倉庫項目實戰(在線教育版)
- Python深度學習原理、算法與案例
- 智能手機APP UI設計與應用任務教程
- Python項目實戰從入門到精通
- Hands-On Full Stack Development with Spring Boot 2.0 and React
- Django 3.0應用開發詳解
- Go語言從入門到精通
- Practical Time Series Analysis
- Learning Scrapy
- ASP.NET 3.5系統開發精髓
- Java入門經典