Android 嘅其他意思，睇 Android (搞清楚)

用Android系統嘅三星智能電話
早期Android設備
**Android**（讀音：['ændrɔid]）係一個公開源碼嘅Linux作業系統，主要用喺手提電子產品，好似有電腦功能嘅智能電話或平板電腦。家陣未有劃一唐名，粵語用者，多數用番英文名**Android**叫佢，少數人亦會叫佢做**安撞**，其它華語地區（大陸同臺灣）一般叫**安卓**。

Android呢個名，最早見於科幻小說《未來夏娃》，係法國作家利爾亞當寫嘅，一八八六年發表。佢將外表似人咁樣，就叫**Android**。Android操作系統，最初由Andy Rubin創辦，最初只係支援手機。二零零五年，由Google收購注資，並同啲手機大廠，一齊搞開放手機聯盟（Open Handset Alliance），開發改良，逐漸擴展到平板電腦同埋其他用途上面。

二零一零年末，Andr​​oid正式推出咗兩年，就贏咗十年霸主嘅諾基亞Symbian系統，成爲全球最受歡迎嘅智能手機平台。用Android系統嘅手機廠商，包括HTC、Samsung、Motorola、Lenovo、LG、Sony Ericsson、華為等。Android另一對手，iOS係得一個樣，由蘋果公司控制，Android就同佢相反，各廠商可以有唔同設計，可以遷就唔同習慣，算係針對iOS嘅弱點。

歷史
--

Android早期由「Android之父」Andy Rubin創辦，Google響2005年收購成立咗只有22個月嘅高科技企業Android，展開咗短訊、搵電話、定位等業務，基於Linux嘅通用平台進入咗開發。Google公司響2007年11月5號正式公佈呢個操作系統，2008年，Patrick Brady 喺 Google I/O演講《Anatomy & Physiology of an Android》，重搞咗Andr​​oid HAL架構圖。HAL用\*.so檔嘅形式存在，搞到Android framework同Linux kernel隔開。

2010年2月3號，Linux內核開發者Greg Kroah-Hartman將An​​droid嘅驅動由Linux內核「狀態樹」（staging tree）上面剷咗，Android同Linux核心開發分道揚鑣。

市場衝擊
----

其他作業系統好似微軟嘅Windows Mobile，手機商要同微軟畀相當於手機成本10%嘅牌照費，Android就免費開源打​，此外，手機製造商同網絡商為咗要保障收入，通常會限制用戶可以用啲咩功能同服務。Android就唔設限制，可以好似用電腦上網咁，用到好多服務。Android對手有蘋果電腦嘅iOS、微軟嘅Windows Phone同RIM用嘅BlackBerry OS系統等。

Google Play
-----------

內文：Google Play
2009年2月，Google推出Android Market，用戶可以喺嗰度下載手機應用程式（apps）同幫apps評分。

2012年3月，Android Market改名做Google Play。

版本
--

Android系統差唔多每半年升級一次，喺版本10之前每代Android系統都用甜品命名：

* 1.5 版叫做 Cup Cake （紙杯蛋糕）
* 1.6 版叫做 Donut （冬甩）
* 2.0 版叫做 Eclair （閃電泡芙）
* 2.1 版叫做 Eclair （閃電泡芙）
* 2.2 版叫做 Froyo （冰凍乳酪）
* 2.3 版叫做 Gingerbread （薑餅）
* 3.0 版叫做 Honeycomb （蜂巢）
* 4.0 版叫做 Ice Cream Sandwich（雪糕三文治）
* 4.1 版叫做 Jelly Bean （啫喱豆）
* 4.2 版叫做 Jelly Bean （啫喱豆）
* 4.3 版叫做 Jelly Bean （啫喱豆）
* 4.4 版叫做 KitKat （KitKat朱古力）
* 5.0 版叫做 Lollipop （波板糖）
* 5.1 版叫做 Lollipop （波板糖）
* 6.0 版叫做 Marshmallow （棉花糖）
* 7.0 版叫做 Nougat （鳥結糖）
* 8.0 版叫做 Oreo （奧利奧）
* 9.0 版叫做 Pie （批）
* 10 版 （開發代號為Q）
* 11 版

以C D E F G H I J K L M N O P Q字頭順序排列。

| 代號 | 介紹 | 圖片 |
| --- | --- | --- |
| 1.5 | * 能夠通過攝像機模式記錄同觀看視頻
* 從手機上傳視頻到YouTube同圖片到Picasa
* 支持藍牙 A2DP
* 能夠一定距離內自動連接到藍牙耳機
* 動畫畫面嘅切換
 |  |
| 1.6 | * 改進使用軟件市場嘅體驗
* 讓從主屏幕搜索書籤，歷史，聯繫人
* 支持320\*240屏幕解像度
* 改進搜索同相機應用嘅速度
* 更新語音搜索，加快撥打畀聯繫人
* 更爽嘅本機應用程式能力
 |  |
| 2.1（Éclair） | * 優化硬件嘅速度
* 支持內置閃光燈
* 改良用戶界面
* 支持更多屏幕尺寸同解像度
* 新聯絡人名單
* 新瀏覽器嘅用戶界面
* 支持HTML5
* 改進虛擬鍵盤
* 動態壁紙
 |  |
| 2.2（Froyo） | * 優化Android操作系統嘅速度同性能
* 支持Adobe Flash 10.1
* 支持應用程序安裝到記憶卡
* 應用程式自動批次更新
* 增加對微軟 Exchange嘅支持
* 語音撥號同通過藍牙共享聯繫人
* 手機可發放wi fi信號，成為一個hotspot
 |  |
| 2.3（Gingerbread）基於Linux Kernel 2.6.35 | 2010年12月7號，2.3（Gingerbread）版本軟體開發套件發佈。主要更新有：
* 修補​​UI
* 支援更大屏幕尺寸同埋解像度（WXGA同埋更高）
* 系統級複製黏貼
* 重新設計嘅多點觸摸屏幕鍵盤
* 原生支持多個鏡頭（用喺視頻通話等）同更多傳感器（陀螺儀、氣壓計等）
* 電話簿整合Internet Call功能
* 支援近場通信（NFC）
* 強化電源、應用程式管理功能
* 新增下載管理員
* 優化遊戲開發支援
* 多媒體音效強化
* 從YAFFS轉換到ext4文件系統
* 開放咗屏幕截圖功能
* 對黑色同白色嘅還原更加真實
 | Android Gingerbread 彩蛋 |
| 3.0.1/3.1（Honeycomb） | \* 2011年2月2號，3.0（Honeycomb）版本主要更新如下：
* 淨係畀平板電腦用
* Google eBooks上提供數百萬本書
* 支援平板電腦大螢幕、高解析度
* 新版Gmail
* Google Talk視訊功能
* 3D加速處理
* 網頁版Market（Web store）詳細分類顯示，依個人Android分別設定安裝應用程式
* 新嘅短消息通知功能
* 專為平板電腦設計嘅用戶界面（重新設計嘅通知列同埋系統列）
* 加強多工處理嘅介面
* 重新設計適用於大螢幕嘅鍵盤同埋複製貼上功能
* 多個標籤嘅瀏覽器以同埋私密瀏覽模式
* 快速切換各種功能嘅相機
* 增強嘅圖庫同埋快速捲動嘅聯絡人介面
* 更有效率嘅Email介面
* 支援多核心處理器
 | Android Gingerbread 彩蛋 |
| 4.0（Ice Cream Sandwich） |  | Android Ice Cream Sandwich 彩蛋 |
| 4.1（Jelly Bean） |  | Android Jelly Bean 彩蛋 |
| 4.2（Jelly Bean） |  |  |
| 4.3（Jelly Bean） |  |  |
| 4.4（Kitkat） |  | Android KitKat 彩蛋 |
| 5.0（Lollipop） |  | Android Lollipop 彩蛋 |
| 5.1（Lollipop） |  |  |
| 6.0（Marshmallow） |  | Android Marshmallow 彩蛋 |
| 7.0（Nougat） |  | Android Nougat 彩蛋 |
| 8.0（Oreo） |  | Android Oreo 彩蛋 |
| 9.0（Pie） |  | Android Pie 彩蛋 |
| 10.0（Q） |  | Android 10 彩蛋 |

### 應用

中國移動基於Android系統開發咗OPhone平台，並於OPhone2.0或以上兼容Android Market。2010年9月，華為推出咗全世界第一部Android2.2嘅手機IDEOS。同年10月，韓國嘅三星電子推出咗7寸嘅Samsung Galaxy Tab同法國嘅愛可視（Archos）推出咗10寸嘅Android 2.2嘅平板電腦。呢兩部平板電腦當時被譽為蘋果iPad嘅殺手，因為佢哋都有USB同Flash瀏覽網頁。

系統架構
----

Android系統架構
### 應用程式

Android 用 Linux 做核心嘅 Andr​​oid 行動平台，用Java作為編程語言，令介面到功能、都有層出不窮嘅變化。其中Activity等於J2ME嘅MIDlet，一個Activity類別（class）負責視窗（window），一個活動中嘅Activity foreground（前景）模式，背景執行嘅程序叫做Service。兩者之間透過由ServiceConnection咗AIDL連結，達到複數程序同時執行嘅效果。如果執行緊嘅Activity全部畫面被其他Activity取代，嗰個Activity就會被停止（stopped），甚至被系統清除（kill）。

View 等同於J2ME嘅Displayable，程式人員可以透過View類別同「XML layout」檔將UI放喺視窗上，Android 1.5版本可以利用View打造出所謂嘅Widgets，其實Widget只係View嘅一種，所以可以用xml來設計layout，HTC嘅Andr​​oid Hero手機就含有大量嘅widget。至於ViewGroup係各種layout嘅基礎抽像類別（abstract class），ViewGroup之內重可以有ViewGroup。View嘅構造函數唔需要喺Activity中調用，但是Displayable係必須嘅，喺Activity之中，要通過findViewById來從XML中取得View，Android嘅View類嘅顯示好大程度上係喺XML中讀取。View同事件（event）息息相​​關，兩者之間透過Listener結合埋一齊，每一個View都可以註冊一個event listener，例如：當View要處理使用者觸碰（touch）嘅事件，就要向Android框架註冊View.OnClickListener。另外重有Image等同於J2ME嘅BitMap。

### 中介軟件

作業系統同埋應用程式嘅溝通橋樑，並用分為兩層：函式層（Library）同埋虛擬機器（Virtual Machine）。

Bionic係Android改良libc嘅版本。Android同時包含Webkit，所謂嘅Webkit就係Apple Safari瀏覽器背後嘅引擎。Surface flinger係就2D或3D嘅內容顯示到螢幕上。Android用工具鏈（Toolchain）為Google自製嘅Bionic Libc。

Android採用OpenCORE作為基礎多媒體框架。OpenCORE可分為7大塊：PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework（PVMF）、Operating System Compatibility Library（OSCL）、Common、OpenMAX。

Android用skia為核心圖形引擎，配搭OpenGL/ES。skia同Linux Cairo功能相當，但相較於Linux Cairo，skia功能只不過係陽春型。2005年Skia公司被Google收購，2007年初，Skia GL源碼被公開，目前Skia亦係Google Chrome嘅圖形引擎。

Android嘅多媒體資料庫採用SQLite資料庫系統。資料庫又分為共用資料庫同埋私用資料庫。使用者可透過ContentResolver類別（Column）取得共用資料庫。

Android嘅中間層多以Java實作，並且採用特殊嘅Dalvik虛擬機器（Dalvik Virtual Machine）。Dalvik虛擬機器係一種「暫存器型態」（Register Based）嘅Java虛擬機器，變數都存放喺暫存器之中，虛擬機器嘅指令相對減少。

Dalvik虛擬機器可以有多個實例（instance），每個Android應用程式都用一個自屬嘅Dalvik虛擬機器來執行，令系統喺執行程式嗰時可達到最佳化。Dalvik虛擬機器並非執行Java字節碼（Bytecode），而係執行一種稱為.dex格式嘅檔案。

### 硬體抽象層

Android嘅HAL（硬體抽象層，Hardware Abstraction Layer）係能夠以封閉源碼形式提供硬體驅動模組。HAL嘅目的係為咗將Android framework同Linux kernel隔開，令Android唔至於過度依賴Linux kernel，以達成kernel independent嘅概念，亦令Android framework嘅開發能喺唔考量驅動程式實作嘅前提下進行發展。

HAL stub係一種代理人（proxy）嘅概念，stub係以\*.so檔嘅形式存在。Stub向HAL「提供」操作函數（operations），並由Android runtime向HAL取得stub嘅operations，再callback呢啲操作函數。HAL裏面包含好多嘅stub（代理人）。Runtime只要說明「類型」，即module ID，就可以取得操作函數。

### 程式語言

T-Mobile G1
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將驅動程式移到userspace，令Linux driver同Linux kernel徹底分開。bionic/libc/kernel/ 並非標準嘅kernel header files。 Android嘅kernel header係利用工具由Linux kernel header所產生嘅，咁做係為咗保留常數、資料結構同埋巨集。

目前Android嘅Linux kernel控制包括安全（Security）、記憶體管理（Memory Managemeat）、程序管理（Process Management）、網絡堆疊（Network Stack）、驅動程式模型（Driver Model）等。下載Android源碼之前，要先安裝咗佢嘅構建工具Repo嚟初始化源碼。Repo係Android用來輔助Git工作嘅一個工具。

參考
--

1. ↑  Lextrait, Vincent (2010). "The Programming Languages Beacon, v10.0". 原著喺2012-05-30歸檔. 喺2010-01-05搵到. `{{cite web}}`: Unknown parameter `|month=` ignored (help)
2. ↑  "Licenses". *Android Open Source Project*. Open Handset Alliance. 喺2010-06-10搵到.
3. ↑  Android之父Andy Rubin：生而Geek 互聯網檔案館嘅歸檔，歸檔日期2011-02-03.，作者：wuzhimin，本文來自《程序員》雜誌2010年9期
4. ↑  Android開發簡介，developerWorks IBM 2009年6月8號
5. ↑  新浪科技 (2010-02-04). 〈谷歌Android被Linux內核除名〉 (簡體中文). 原著喺2010-02-08歸檔. 喺2010-04-09搵到. `{{cite news}}`: Cite has empty unknown parameter: `|coauthors=` (help)
6. ↑  Google手機亮相 互聯網檔案館嘅歸檔，歸檔日期2020年3月15號，.，蘋果日報2008年2月12號
7. ↑  Android稱王扳倒不敗諾基亞，聯合新聞網2011/02/01
8. ↑  谷歌推出Anroid Market在線軟件平台新浪科技2008年08月29號 09:31
9. ↑  〈Android 2.3 Gingerbread正式登場、新功能全面睇！〉.
10. ↑  "Android Team"Laser Focused"On The User Experience For Next Release".

睇埋
--


維基同享有多媒體嘅嘢：  
**Android (operating system)**

* Android指南

* Android裝置一覽：搭載Android系統嘅裝置產品


| * 睇
* 傾
* 改
art=Google |
| --- |
| 
**總裁**：Eric E. Schmidt ·  **董事/技術總監/共同創辦人**：Sergey Brin ·  **董事/產品總監/共同創辦人**：Larry Page**其他董事**：John Doerr · John L. Hennessy ·  Arthur D. Levinson ·  Ann Mather ·  Paul Otellini ·  Ram Shriram · Shirley M. Tilghman ·  **高級顧問**：Al Gore
 |
| 廣告 | 廣告管理系統 · Adscape · AdSense · 廣告專家 · Ads · 分析 · 結帳 · DoubleClick |
| 通訊 | 快訊 · 日曆 · 好友連接 · Gmail · 網上論壇 · 對話 · 緯度 · Orkut · 問答 · 閱讀器 · 翻譯 · 語音 · Wave |
| 軟件 | Chrome · Chrome OS · 桌面 · 地球 · Gadgets · Gmail Mobile · Pack · Picasa · PowerMeter · SketchUp · Talk · Toolbar · Updater · Urchin |
| 平台 | Account · Android · App Engine · Apps · Base · BigTable · Caja · Co-op · Gears · GFS · Health · Native Client · OpenSocial · Pay · Play · Wave |
| Development tools | AJAX APIs · Closure Tools · Code · Gadgets API · GData · Googlebot · Guice · GWS · Image Labeler · KML · MapReduce · Pinyin · SketchUp Ruby · Sitemaps · Summer of Code · TechTalks · Web Toolkit · Website Optimizer |
| Publishing | Blogger · Bookmarks · Docs · FeedBurner · iGoogle · Jaiku · Knol · Map Maker · Panoramio · Picasa 網路相簿‎ · Sites (JotSpot) · YouTube |
| Search (PageRank) | Appliance · Audio · Books (Library Project) · Code · Desktop · Fast Flip · Finance · GOOG-411 · Images · Maps (Mars · Moon · Ocean · Sky · Street View) · 新聞 · Patents · Products · Scholar · SearchWiki · Usenet · Video · Web Search · Analysis: Insights for Search · Trends · Webmaster guidelines |
| 冇咗 | Answers · Browser Sync · Click-to-Call · Dodgeball · Joga Bonito · Lively · Mashup Editor · Notebook · Page Creator · Video Marketplace · Web Accelerator |
| 其他 | 收購 · Bomb · 審查 · Chromebook ·
批評 · Foundation · Google China · Google.org · Googleplex · 史 · Hoaxes · I'm Feeling Lucky · I/O · Labs · Logo · Lunar X Prize · 產品 · Google Ventures · WiFi · Zeitgeist |