facebook廣告





123

2013年7月29日 星期一

Android系統的基本介紹(一)



Android是一個以Linux為基礎的開放原始碼作業系統,主要用於行動設備,由Google成立的Open Handset Alliance(OHA,開放手機聯盟)持續領導與開發中。 Android系統最初由安迪·魯賓(Andy Rubin)開發製作,最初開發這個系統的目的是利用其建立一個能夠與PC聯網的「智慧型相機」生態圈。但是後來,智慧型手機市場開始爆炸性增長,Android被改造為一款面向手機的作業系統。於2005年8月被美國科技企業Google收購。2007年11月,Google與84家硬體製造商、軟體開發商及電信營運商成立開放手持設備聯盟來共同研發改良Android系統,隨後,Google以Apache免費開源許可證的授權方式,發布了Android的源代碼。讓生產商推出搭載Android的智慧型手機,Android作業系統後來更逐漸拓展到平板電腦及其他領域上。Google透過官方網上商店平台Google Play,提供應用程式和遊戲供用戶下載。同時用戶亦可以通過第三方網站來下載。


許可證Android作業系統使用開放免費程式碼許可證,一切程式碼都是公開免費 的。Google對Android所使用的Linux內核依據Apache開源條款2.0中所規定的內容進行了修改,包 括添加智慧型手機網路和電話協議棧等智慧型手機所必需的功能,使它們能更好的在移動設備上執行,並且根據第二版GNU條款中所規定的內容對修改的 Linux內核訊息公佈。Google也不斷發布問卷和開放修改清單、更新情況和程式碼來讓任何人看到並且提出他們的意見和評論,以便按照用戶的要求改進 Android作業系統。Android作業系統是完全免費開源的,任何廠商都可以不經過Google和開放手持設備聯盟的授權隨意使用Android作業系統;但是製造商不能隨意地在自己的產品上使用Google的標誌和Google的應用程式,例如Google Play等。除非Google證明其生產的產品設備符合Google相容性定義檔案(CDD),這樣才能在智慧型手機上預裝Google Play Store、Gmail等應用程式,並且獲得CDD的智慧型手機廠商也可以在其生產的智慧型手機上印上「With Google」的標誌。

Linux內核Android作業系統的內核屬於Linux內核的一個分支,具有典型的Linux排程和功能,除此之外,Google為了能讓Linux在移動設備上良好的執行,對其進行了修改和擴充。Android去除了Linux中的本地X Window System,也不支援標準的GNU庫,這使得Linux平台上的應用程式移植到Android平台上變得困難。2008年,Patrick Brady於Google I/O演講「Anatomy & Physiology of an Android」,並提出的Android HAL架構圖。HAL以*.so 檔的形式存在,可以把Android framework與Linux kernel隔開,這種中介層的方式使得Android能在移動設備上獲得更高的執行效率。這種獨特的系統結構被Linux核心開發者Greg Kroah-Hartman和其他內核維護者稱讚。Google還在Android的內核中加入了自己開發製作的一個名為「wakelocks」的移動設 備電源管理功能,該功能用於管理移動設備的電池效能,但是該功能並沒有被加入到Linux內核的主線開放和維護中,因為Linux內核維護者認為 Google沒有向他們展示這個功能的意圖和代碼。2010年2月3日,由於Google在Android內核開發方面和Linux社區方面開發的不同步,Linux核心開發者Greg Kroah-Hartman將Android的驅動程式從Linux核心「狀態樹」(「staging tree」)上除去。2010 年4月,Google宣布將派遣2名開發人員加入Linux內核社區,以便重返Linux內核。2010年9月,Linux內核開發者Rafael J. Wysocki添加了一個修復程式,使得Android的「wakelocks」可以輕鬆地與主線Linux內核合併。2011年,Linus Torvalds說:「Android的內核和Linux的內核將最終回歸到一起,但可能不會是4-5年。」在Linux 3.3中大部分代碼的整合完成。

特點當前的Android作業系統具有以下幾個功能: 

顯示佈局

Android作業系統支援更大的解析度,VGA,2D顯示,3D顯示都給予OpenGL ES 2.0標準規格,並且支援傳統的智慧型手機。
數據存儲
Android作業系統內置SQLite小型關聯式資料庫管理系統來負責存儲數據。
網路
         Android作業系統支援所有的網路制式,包括GSM/EDGEIDENCDMAEV-DOUMTSBluetoothWi-FiLTENFCWiMAX
訊息
作為原設計給智慧型手機使用的作業系統,Android作業系統原生支援簡訊和郵件,並且支援所有的雲端訊息和服務器訊息。
語言
Android作業系統支援多語言。
瀏覽器
Android作業系統中內置的網頁瀏覽器基於WebKit內核,並且採用了Chrome V8引擎。在Android 4.0內置的瀏覽器測試中,HTML5Acid3故障處理中均獲得了滿分,並且於2.2版及之後能原生支援Flash
支援Java
雖然Android作業系統中的應用程式大部分都是由Java編寫的,但是Android卻是以轉換為Dalvik executables的檔案在Dalvik虛擬機上執行的。由於Android中並不自帶Java虛擬機,因此無法直接執行Java程式。不過Android平台上提供了多個Java虛擬機供用戶下載使用,安裝了Java虛擬機的Android系統可以執行J2ME的程式。
媒體支援
Android作業系統本身支援以下格式的音頻/視頻/圖片媒體:WebM、H.263, H.264 (in 3GP or MP4 container)、MPEG-4 SP、AMR, AMR-WB (in 3GP container)、AAC, HE-AAC (in MP4 or 3GP container)、MP3、MIDI、Ogg Vorbis、FLAC、WAV、JPEG、PNG、GIF、BMP。如果用戶需要播放更多格式的媒體,可以安裝其他第三方應用程式。
流媒體支援
Android作業系統支援RTP/RTSP(3GPP PSS, ISMA)的流媒體以及(HTML5 <video>)的流媒體,同時還支援Adobe的Flash,在安裝了RealPlayer之後,還支援蘋果公司的流媒體。
硬體支援
Android作業系統支援識別並且使用視頻/照片攝像頭,多點電容/電阻觸摸屏,GPS,加速計,陀螺儀,氣壓計,磁強計,鍵盤,鼠標,USB Disk,專用的遊戲控制器,體感控制器,遊戲手柄,藍牙設備,無線設備,感應和壓力感測器,溫度計,加速2D位位塊傳輸(硬體方向,縮放,像素格式轉 換)和3D圖形加速。
多點觸控
Android支援原生的多點觸摸,在最初的HTC Hero智慧型手機上即有這個功能。該功能是核心級別(為了避免對蘋果公司的觸摸屏技術造成侵權)。
藍牙
Android支援A2DP,AVRCP,發送檔案(OPP),存取電話簿(PBAP),語音撥號和發送智慧型手機之間的聯繫。同時支援鍵盤,滑鼠和操縱桿(HID)。
多工處理
Android作業系統支援原生的多工處理。
語音功能
除了支援普通的電話通話之外,Android作業系統從最初的版本開始就支援使用語音操作來使用Google進行網頁搜尋等功能。而從Android OS v2.2開始,語音功能還可以用來輸入文字、語音導航等功能。
無線共享功能
Android作業系統支援用戶使用本機充當「無線路由器」,並且將本機的網路共享給其他智慧型手機,其他機器只需要通過WiFi尋找到共享的無線熱點,就可以上網。而在Android OS v2.2版本之前的作業系統則需要通過第三方應用或者其他定製版系統來實現這個功能。
截圖功能
從Android OS v4.0版本開始,Android作業系統便支援截圖功能,該功能允許用戶直接抓取智慧型手機螢幕上的任何畫面,用戶還可以通過編輯功能對截圖進行處理, 還可以通過藍牙/E-mail/微博/共享等方式發送給其他用戶或者上傳到網路上,也可以拷貝到電腦中。

 <待續>

文章出處:https://zh.wikipedia.org/wiki/Android