介紹

近期編輯: david3033 ...看更多

目錄
    1. 目錄
    2. [編輯]歷史
    3. [編輯]名稱來源
    4. [編輯]市場衝擊
    5. [編輯]Android Market
    6. [編輯]版本
      1. [編輯]發佈
    7. [編輯]系統架構
      1. [編輯]應用程式
      2. [編輯]中介軟體
      3. [編輯]硬體抽像層
      4. [編輯]程式語言


Android(讀音:['ændrɔid])是一種以Linux為基礎的開放原始碼作業系統,主要使用於便攜裝置。目前尚未有統一中文名稱,中國大陸地區較多人使用安卓安致。Android作業系統最初由Andy Rubin創辦[5],最初只支援手機。2005年由Google收購注資,並拉攏多家製造商組成開放手機聯盟(Open Handset Alliance)開發改良,逐漸擴充功能到到平板電腦及其他領域上[6]。 2010年末數據顯示,僅正式推出兩年的作業系統的Android已經超越稱霸十年的諾基亞Symbian系統,躍居全球最受歡迎的智慧手機平台。採用Android系統手機廠商包括HTCSamsungMotorolaLenovoLGSony Ericsson等。

目錄

[隐藏]

[編輯]歷史

Android早期由「Android之父」之稱的Andy Rubin創辦,Google於2005年併購了成立僅22個月的高科技企業Android,展開了簡訊、手機檢索、定位等業務,基於Linux的通用平台進入了開發。Google公司在2007年11月5日正式公佈這個作業系統,2008年,Patrick Brady於Google I/O演講「Anatomy & Physiology of an Android」,並提出的Android HAL架構圖。HAL以*.so檔的形式存在,可以把Android framework與Linux kernel隔開。
2010年2月3日,Linux核心開發者Greg Kroah-Hartman將Android的驅動程式從Linux核心「狀態樹」(「staging tree」)上除去,從此,Android與Linux核心開發分道揚鑣。[7]

[編輯]名稱來源

Android一詞最早出現於法國作家利爾亞當在1886年發表的科幻小說《未來夏娃》中。他將外表像人的機器起名為Android。

[編輯]市場衝擊

其他作業系統如微軟Windows Mobile,手機商要向微軟繳付相當於手機成本10%的牌照費,Android則以免費開源打破某些限制,此外,手機製造商和網路商為保障收入,通常會限制使用者可以使用甚麼功能和服務。Android亦不設限制,可以像用電腦上網一樣,享用很多服務[8]。Android對手有蘋果電腦的iOS微軟Windows PhoneRIM使用的BlackBerry OS系統。[9]

[編輯]Android Market

主條目:Android Market
2009年2月,Google推出Android Market線上應用程式商店,使用者可在該平台網頁尋找、購買、下載及評級使用手機應用程式及其他內容[10]
Android Market™內的付費程式在許多國家與地區內提供,如美國、英國、瑞典、德國、斯裡蘭卡、泰國、越南、香港、中國、台灣等。但覆蓋範圍有限。[11]目前中國還未能得到該服務,用戶仍可通過國際信用卡和一款名為"Market Access"的免費軟體來完成在非支援地區的購買,但需要注意的是,通過這種方法購買的軟體可能不會得到當地承認的發票(Invoice)。

[編輯]版本

Android系統差不多每半年一次的升級步伐,每代Android系統都以甜點命名,比如1.5版叫做Cupcake(紙杯蛋糕),1.6版為Donut(甜甜圈),2.0/2.1叫Éclair(閃電泡芙,一種法式奶油夾心甜點[12]),之後是2.2版的Froyo(冷冻乳酪)和2.3版的Gingerbread(薑餅)最後3.0版叫Honeycomb(蜂窩)。以C D E F G H字頭順序排列。Donut將把社交網路功能作為升級重點,在「手機的各種體驗中」都增加社交網路元素[13]

[編輯]發佈


1.5
(Cupcake)
基於Linux Kernel 2.6.27
2009年4月30日,官方1.5版本(Cupcake)的Android發佈。[14][15]主要的更新如下:
  • 拍攝/播放影片,並支援上傳到Youtube
  • 支援立體聲藍芽耳機,同時改善自動配對效能
  • 最新的採用WebKit技術的瀏覽器,支援複制/貼上和頁面中搜尋
  • GPS效能大大提高
  • 提供螢幕虛擬鍵盤
  • 主螢幕增加音樂播放器和相框widgets
  • 應用程式自動隨著手機旋轉
  • 簡訊、Gmail、日暦,瀏覽器的使用者介面大幅改進,如Gmail可以批次刪除郵件
  • 相機啟動速度加快,拍攝圖片可以直接上傳到Picasa
  • 來電照片顯示[16]
1.6
(Donut)
基於Linux Kernel 2.6.29
2009年9月15日,1.6(Donut)版本軟體開發套件發佈。[17][18]主要的更新如下:
  • 重新設計的Android Market
  • 手勢支援
  • 支援CDMA網路
  • 文字轉語音系統(Text-to-Speech)
  • 快速搜尋框
  • 全新的拍照介面
  • 檢視應用程式耗電
  • 支援虛擬私人網路(VPN)
  • 支援更多的螢幕解析度。
  • 支援OpenCore2媒體引擎
  • 新增面向視覺或聽覺困難人群的易用性外掛程式[19]
2.0/2.0.1/2.1
(Eclair)
基於Linux Kernel 2.6.29
2009年10月26日,2.0(Eclair)版本軟體開發套件發佈。[20]主要的更新如下:[21]
  • 最佳化硬體速度
  • "Car Home"程式
  • 支援更多的螢幕解析度
  • 改良的使用者介面
  • 新的瀏覽器的使用者介面和支援HTML5
  • 新的聯繫人名單
  • 更好的白色/黑色背景比率
  • 改進Google Maps 3.1.2
  • 支援Microsoft Exchange
  • 支援內建相機閃光燈
  • 支援數碼變焦
  • 改進的虛擬鍵盤
  • 支援藍芽2.1
  • 支援動態桌面的設計
2.2/2.2.1
(Froyo)
基於Linux Kernel 2.6.32
2010年5月20日,2.2(Froyo)版本軟體開發套件發佈。[22]主要的更新如下:
  • 支援將軟體安裝至擴充功能內部記憶體[23]
  • 整合Adobe Flash 10.1支援[24]
  • 加強軟體即時編譯的速度[25]
  • 新增軟體啟動"快速"至電話和瀏覽器[26]
  • USB分享器和WiFi熱點功能[27]
  • 支援在瀏覽器上傳檔案[28]
  • 更新Market中的批次和自動更新[29]
  • 增加對Microsoft Exchange的支援(安全政策, auto-discovery, GAL look-up)
  • 整合ChromeV8 JavaScript引擎到瀏覽器
  • 加強快速搜尋小工具
  • 更多軟體能透過Market更新,類似2.0/2.1中的Map更新
  • 速度和效能最佳化[29]
註:部分標稱為2.2的韌體仍然在使用2.6.29的核心。這種韌體可以實作大部分2.2的功能(比如flash),但效能上與2.6.32有一定差距。
2.3
(Gingerbread)
基於Linux Kernel 2.6.35
2010年12月7日,2.3(Gingerbread)版本軟體開發套件發佈。[30]主要的更新如下:
  • 修補UI[31]
  • 支援更大的螢幕尺寸和解像度(WXGA及更高)
  • 系統級複製貼上
  • 重新設計的多點觸控式螢幕幕鍵盤
  • 原生支援多個鏡頭(用於視訊通話等)和更多感測器(陀螺儀、氣壓計等)
  • 電話簿整合Internet Call功能
  • 支援近場通訊NFC
  • 強化電源、應用程式管理功能
  • 新增下載管理員
  • 最佳化遊戲開發支援
  • 多媒體音效強化
  • YAFFS轉換到ext4檔案系統
  • 開放了螢幕快照功能
  • 對黑色及白色的還原更加真實
3.0.1/3.1/3.2
(Honeycomb)
* 2011年2月2日, 3.0(Honeycomb)版本主要更新如下:
  • 僅供平板電腦使用
  • Google eBooks上提供數百萬本書
  • 支援平板電腦大螢幕、高解析度
  • 新版Gmail
  • Google Talk視訊功能
  • 3D加速處理
  • 網頁版Market(Web store)詳細分類顯示,依個人Android分別設定安裝應用程式
  • 新的短訊息通知功能
  • 專為平板電腦設計的使用者介面(重新設計的通知列與系統列)
  • 加強多工處理的介面
  • 重新設計適用大螢幕的鍵盤及複製貼上功能
  • 多個標籤的瀏覽器以及私密瀏覽模式
  • 快速切換各種功能的相機
  • 增強的圖庫與快速捲動的聯絡人介面
  • 更有效率的Email介面
  • 支援多核心處理器
  • 3.2優化7吋平板顯示
4.0
(Ice Cream Sandwich)

(Jelly Bean)

[編輯]系統架構

[div bgcolor=initial !important][bgcolor=initial !important]
藍色區塊:應用程式、管理與服務元件。綠色區塊:資料庫元件。黃色區塊:作業系統的執行時期元件。紅色區塊:系統核心與驅動元件。

[編輯]應用程式

Android以Linux為核心的Android行動平台,使用Java作為程式語言,使介面到功能,都有層出不窮的變化,其中Activity等同於J2ME的MIDlet,一個Activity類別負責建立視窗,一個活動中的Activity就是在foreground(前景)模式,背景執行的程式叫做Service。兩者之間透過由ServiceConnection和AIDL連結,達到複數程式同時執行的效果。如果執行中的Activity全部畫面被其他Activity取代時,該Activity便被停止,甚至被系統清除。
View等同於J2ME的Displayable,程式人員可以透過View類別與「XML layout」檔將UI放置在視窗上,Android 1.5的版本可以利用View打造出所謂的Widgets,其實Widget只是View的一種,所以可以使用xml來設計layout,HTC的Android Hero手機即含有大量的widget。至於ViewGroup是各種layout的基礎抽象類別,ViewGroup之內還可以有ViewGroup。View的建構函式不需要再Activity中呼叫,但是Displayable的是必須的,在Activity中,要透過findViewById()來從XML中取得View,Android的View類的顯示很大程度上是從XML中讀取的。View與事件息息相關,兩者之間透過Listener結合在一起,每一個View都可以註冊一個event listener,例如:當View要處理使用者觸碰的事件時,就要向Android框架註冊View.OnClickListener。另外還有Image等同於J2ME的BitMap。

[編輯]中介軟體

作業系統與應用程式的溝通橋樑,並用分為兩層:函式層和虛擬機器器Bionic是Android改良libc的版本。Android同時包含了Webkit,所謂的Webkit就是Apple Safari瀏覽器背後的引擎。Surface flinger是就2D或3D的內容顯示到螢幕上。Android使用工具鏈為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類別取得共用資料函式庫。
Android的中間層多以Java實作,並且採用特殊的Dalvik虛擬機器器。Dalvik虛擬機器器是一種「暫存器型態」的Java虛擬機器器,變數皆存放於暫存器中,虛擬機器器的指令相對減少。
Dalvik虛擬機器器可以有多個例項,每個Android應用程式都用一個自屬的Dalvik虛擬機器器來執行,讓系統在執行程式時可達到最佳化。Dalvik虛擬機器器並非執行Java位元組碼,而是執行一種稱為.dex格式的檔案。

[編輯]硬體抽像層

Android的硬體抽像層是能以封閉源碼形式提供硬體驅動模組。HAL的目的是為了把Android framework與Linux kernel隔開,讓Android不至過度依賴Linux kernel,以達成kernel independent的概念,也讓Android framework的開發能在不考量驅動程式實作的前提下進行發展。
HAL stub是一種代理人的概念,stub是以*.so檔的形式存在。Stub向HAL「提供」操作函式,並由Android runtime向HAL取得stub的operations,再callback這些操作函式。HAL里包含了許多的stub(代理人)。Runtime只要說明「型別」,即module ID,就可以取得操作函式。

[編輯]程式語言

Android是執行於Linux kernel之上,但並不是GNU/Linux。因為在一般GNU/Linux裏支援的功能,Android大都沒有支援,包括CairoX11AlsaFFmpegGTKPangoGlibc等都被移除掉了。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控制包括安全,記憶體管理行程管理網路堆疊驅動程式模型等。下載Android源碼之前,先要安裝其構建工具Repo來初始化源碼。Repo是Android用來輔助Git工作的一個工具。
最近加入玩家 (共 173406 人加入)

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】