Android 台灣中文網
標題:
Android程式語言
[打印本頁]
作者:
bigtigerbird
時間:
2013-6-21 00:26
標題:
Android程式語言
Android是執行於Linux kernel之上,但並不是GNU/Linux。因為在一般GNU/Linux裏支援的功能,Android大都沒有支援,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic取代Glibc、以Skia取代Cairo、再以opencore取代FFmpeg等等。Android為了達到商業應用,必須移除被GNU GPL授權證所約束的部份,Android 並沒有使用者層驅動(user space driver)這種東西。所有的驅動還是在核心空間中,並以 HAL 隔開版權問題。bionic/libc/kernel/ 並非標準的核心表頭檔(kernel header files)。Android的核心表頭檔是利用工具由Linux核心的表頭檔所產生的,這樣做是為了保留常數、資料結構與巨集。
Android的內核基於Linux,除了內核之外,則是中介層、資料庫元和用C/C++編寫的API以及應用程式框架。Android的應用程式通常以Java資料庫元為基礎編寫,執行程式時,應用程式的代碼會被即時轉變為Dalvik dex-code (Dalvik Executable),然後Android作業系統通過使用即時編譯的Dalvik虛擬機來將其執行。[88]
目前Android的Linux kernel控制包括安全、記憶體管理、行程管理、網路堆疊、驅動程式模型等。下載Android源碼之前,先要安裝其構建工具Repo來初始化源碼。Repo是Android用來輔助Git工作的一個工具。
歡迎光臨 Android 台灣中文網 (https://apk.tw/)
Powered by Discuz! X3.1