壹、應用程序
Android使用Java作為編程語言,使得界面和功能變化無窮。其中,Activity相當於J2ME的MIDlet,壹個Activity類負責創建窗口,壹個Activity處於前臺模式,後臺運行的程序稱為Service。
二、中介軟件
操作系統和應用程序之間的通信橋梁分為兩層:功能層和虛擬機。Bionic是libc for Android的改進版本。
Android還包括Webkit,這是AppleSafari瀏覽器背後的引擎。Surfaceflinger在屏幕上顯示2D或3D內容。Android使用谷歌自制BionicLibc的工具鏈。
第三,硬件提取層
Android的HAL(硬件抽象層)可以以封閉源代碼的形式提供硬件驅動模塊。硬件抽象層(Hardware Abstract Layer的縮寫)
的目的是將Androidframework從Linuxkernel中分離出來。
讓Android不要太依賴Linux。
內核,實現kernelindependent的概念,也讓Androidframework。
的開發可以不考慮驅動程序的實現。
第四,編程語言
Android運行在Linuxkernel上,但不是GNU/Linux。因為壹般GNU/Linux支持的大部分功能Android都不支持。
包括Cairo、X11、Alsa、FFmpeg、GTK、Pango和Glibc都已刪除。Android用bionic代替Glibc,Cairo用Skia,FFmpeg用opencore。
動詞 (verb的縮寫)安全保障
目前,Android的Linux內核控制包括安全性、內存管理、進程管理、網絡堆棧、驅動模型等。
在下載Android源代碼之前,妳應該安裝它的構建工具Repo來初始化源代碼。Repo是Android用來輔助Git的工具。