天天看點

(轉)Andriod是什麼

導讀:Sans Serif是Google的一位工程師,近日釋出了一篇博文非常清楚的描述了Android系統架構,中國移動通信研究院院長黃曉慶在新浪微網誌上推薦了該文,并認為文中對Android的介紹很好,如下是CSDN對文章的簡單編譯:

Andriod是什麼?

首先,就像Android開源和相容性技術負責人Dan Morrill在Android開發手冊相容性部分所解釋的,“Android并不是傳統的Linux風格的一個規範或分發版本,也不是一系列可重用的元件內建,Android是一個用于連接配接裝置的軟體塊。”

(轉)Andriod是什麼

Linux:

所有東西的底層是一個穩定的保持更新的Linux核心(我現在用的Nexus手機所用的就是2.6.32版的核心),以及我們精心打造的能源管理元件;當然還有将它們整合至上層Linux代碼的擴充和公共元件。

Dalvik:

Android另一個重要的部分,包括虛拟機和一組重要的運作環境。它的設計非常巧妙,是個很好的一個手機終端的底層應用。

代碼如何生成?

Dalvik虛拟機隻執行.dex的可執行檔案。當Java程式通過編譯,最後還需要通過SDK中的工具轉化成.dex格式才能在虛拟機上執行。

我需要強調的是,Android應用本身就可視作可在平台上運作并調用APIs的代碼,是以對代碼如何生成不需特别看重。

特别的Apps:

在圖中有些基于Dalvik虛拟機的Apps看起來像是Android的一部分,其實是由Google提供,這些應用包括Dialer、 Contact、Calendar、Gmail和Chat等。它們中的絕大部分是開源并可複用的。隻有少部分例外,比如Google Maps和Android Market.

開源那些事:

在下面的圖中,綠色的大部分元件是基于Apache許可證開源,其餘基于GPL、LGPL和BSD。

(轉)Andriod是什麼

Android架構

在Android開發者網(developer.android.com)上已有不少篇幅來幫助你使用它,在此就不再累述。

(轉)Andriod是什麼

标準庫

在這裡“标準”是指“開發者在開源環境中一般可以使用的”。

App裡面是什麼

一個Android App包含在一個我們稱之為APK的壓縮檔案夾中,APK并沒有什麼可說的,需要注意的是Android Manifest——介于App和Android System的接口。

(轉)Andriod是什麼
(轉)Andriod是什麼

其他

大多數應用是基于Dalvik的,我指的是除了遊戲之外的應用。遊戲開發者通常希望用C/C++來編寫,排斥使用虛拟機,是以他們可以通過Andriod NDK來開發。(編譯/楊東傑)

原文:http://www.tbray.org/ongoing/When/201x/2010/11/14/What-Android-Is

以上轉自開源中國網站 http://www.oschina.net/bbs/thread/13318

繼續閱讀