官术网_书友最值得收藏!

第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、日歷、瀏覽器、聯系人管理程序等。

主站蜘蛛池模板: 大化| 龙岩市| 铜鼓县| 寻乌县| 广元市| 于田县| 沧源| 泰来县| 肇源县| 灌云县| 仙桃市| 沁阳市| 永泰县| 涡阳县| 临猗县| 曲松县| 襄樊市| 大港区| 嵩明县| 鹤山市| 江都市| 裕民县| 章丘市| 通辽市| 防城港市| 安吉县| 武威市| 若尔盖县| 舒兰市| 墨脱县| 特克斯县| 泉州市| 鲁山县| 浦县| 花莲县| 闽清县| 建始县| 堆龙德庆县| 巴青县| 勐海县| 澄迈县|