|
Android一詞的本義指「機器人」,同時也是Google於2007年11月5日宣布的基於Linux平台的開源手機操作系統的名稱,該平台由操作系統、中間件、用戶界面和應用軟體組成,號稱是首個為移動終端打造的真正開放和完整的移動軟體。目前最好的是Android2.0的摩托羅拉Droid
Android公司

LOGO國家:美國
業務:操作系統
成立於:2003年
CEO:安迪·羅賓(目前為Google工程副總裁)
中文名:安致(官方)安卓(非官方)
關於兩個譯名的解釋:通過在國家工商總局網頁商標查詢顯示,Google已註冊android中文譯名為「安致」的商標,而不是安卓。但安卓這個譯名則更被廣大用戶所熟悉,這主要是由於安卓網於早期即被廣為熟知。但事實就是事實,已註冊的商標無法改變。兩個譯名現通用。
Android操作系統
Android 1.1 發布時間:發佈於 2009 年 2 月
代表手機:T-Mobile G1

世界上第一款Android手機 G1G1 手機是世界上第一款採用谷歌Android操作系統的手機。G1中包含了豐富的軟體:包含聊天軟體、電子郵件客戶端收發E-Mail、Gmail電子郵件、Youtube視頻播放、ChromeLite瀏覽器、谷歌電子地圖、音樂播放器、Youtube在線視頻播放客戶端。Android1.1主要特性:鬧鐘,API 示例,瀏覽器, 計算器,攝像頭,聯繫人,開發工具包,撥號應用,電子郵件, 地圖 (包含街景),信息服務,音樂,圖片,設置。
Android 1.5 發布時間:發佈於 2009 年 5月
代表手機:摩托羅拉Backflip(MOTO ME600)

摩托羅拉ME600Backflip(ME600)手機將是由摩托羅拉設計、美國運營商AT&T旗下第一款Android智能手機。該版本又叫 「Cupcake」, 這是第一個主要版本,發佈於 2009 年 5 月. 這個升級之後,Android 表現出來的能力才真正吸引了開發者的目光。 用戶界面得到了極大的改良。並且增添了以下功能: 錄像,藍牙A2DP,自動藍牙連接,上傳視頻到 YouTube 以及 Picasa,複製/粘貼功能
Android 1.6 發布時間:發佈於 2009 年 9月
代表手機:索尼愛立信 X10,摩托羅拉A1680

X10X10繼承索愛優良的設計傳統,X10i的機身線條還是挺有美感的,尤其是白色的機身更顯凸顯出這一點。它配備了一塊4英寸的TFT材質的電容式觸控屏,解析度也達到了比較頂級的480x854像素(FWVGA級別),搭載Android 1.5的HTC Hero和摩托羅拉CLIQ獲得了意想不到的成功。Android 最終獲得了非Android用戶的關注,並且也讓競爭者蘋果和微軟更加警惕了。Android 1.6 「Donut」 2009 年 9 月發布。 這個版本包含了: Android 應用市場集成 照相、攝像以及瀏覽, 多選/刪除功能,手勢搜索語音搜索,應用集成極大提升了語音閱讀功能,對非標準解析度有了更好的支持。
Android 2.0 發布時間:發佈於 2009 年 10月
代表手機:摩托羅拉XT800

XT800+摩托羅拉XT800是第一款在中國上市的Android手機,上市以來憑藉其超強性能、雙網雙待的網路以及中國電信套餐優惠模式等諸多優勢得到了眾多手機玩家的熱愛,IDC指出該機是國內Android行貨中賣得最好的一款。XT800 使用的是Android 2.0操作系統,CPU型號是ARM Cortex A8,該機的最大擴展容量是32GB,文件存儲無憂無慮,機器運行速度也不用擔心。該機內置500萬像素攝像頭,最大支持2592×1944像素照片拍攝。MOTO XT800是雙卡雙待手機,支持CDMA2000網路,3.7英寸的屏幕解析度為480×854像素,該機支持虛擬QWERTY鍵盤,同時,在支持 WAPI功能的同時兼容了Wi-Fi無線上網功能。該機內置GPS導航模塊。
Android 2.1 發布時間:發佈於 2009 年 12
代表手機:摩托羅拉MILESTONE(里程碑)系列

摩托羅拉里程碑而這款被摩托羅拉寄予厚望的MILESTONE也不負眾望一舉奪得多項年度智能手機大獎,目前全球銷量超過900萬台。在國內MILESTONE成為手機玩家中最為完美的智能手機,銷量是有增無減。這款手機機身尺寸為60x115x13.7毫米,重169克,它採用3.7吋1600萬色的觸摸屏幕,解析度為FWVGA級別(480x854像素),並內置 500萬像素的攝像頭,支持自動對焦,配備雙LED閃光燈。這款手機的存儲空間為16GB,並支持高達32GB的microSD卡拓展存儲。
Android 2.2 該版本名字叫 「Froyo」,中文代號稱「凍酸奶」,Nexus One 的用戶已經開始接受 Android 2.2 「FroYo」 的無線更新,其他機型的用戶應該會在短時間內獲取到這一更新。這一版本包含大量讓其他手機用戶垂涎三尺的更新,包括了:
Android 2.2主要特性
完整的 Flash 10.1 支持
最高 5 倍速度提升
最多支持 8 個設備連接的移動熱點功能
有著專用鏈接的改進版主屏幕
大量 Exchange 支持改進,支持 Exchange 2010,包括遠程數據抹除,自動發現服務,完整的日程表支持,全局聯繫人列表查找。
攝像頭/視頻改進,比如:更好的屏幕控制按鈕,人民群眾喜聞樂見的錄像時開啟閃光燈進行照明的功能。
多鍵盤語言支持
Android 雲信息將應用安裝在記憶卡上
藍牙語音撥號
支持720P視頻錄製
Android 2.3 在北京時間2010年12月7日凌晨的時候,谷歌在發布旗下第二款手機Nexus S的同時,全新的谷歌Android2.3 Gingerbread(薑餅)系統正式亮相。相比2.2版本來說,新版的Android系統在多個方面都進行了有效的提升。
Android 2.3升級特性
用戶界面更美觀
進一步提升運行速度
提升遊戲體驗
提升多媒體能力
增加官方進程管理
改善電源管理
NFC近場通信
全局下載管理
改進的虛擬鍵盤
原生支持前置攝像頭
SIP網路電話 相比Android2.2版本來說,Android2.3 Gingerbread在系統性能方面的提升倒不是很大,更重要的是它讓Android系統的功能更加全面。相信經過這樣一系列快速的更新之後,谷歌Android系統將會變得越來越完善。
與Android2.3同時發布的還有Nexus S,本次合作品牌為三星,也證實了三星在美國取代htc,成為Android的代表。此前有消息稱google不會開發Nexus Two,現在終於知道,原來只是更換名字而已,原因則是三星不想成為「Two」。
Android 2.3最低配置
升級Android 2.3的系統推薦配置為1GHz處理器、512MB RAM、3.5英寸屏幕或更大屏幕
澄清:新系統對硬體有了要求,最低配置1GHz處理器、512MB RAM、3.5英寸屏幕,這也讓現有的Android用戶無比揪心,因為目前用戶使用的大部分手機都不能達到這個要求。現在,這個傳聞被證實有誤了。
之前傳出的Android 3.0系統對硬體的最低要求為1G處理器的消息讓不少用戶心碎,值得高興的是,這一傳聞已經被證實有誤,新聞最初來自於一家俄羅斯網站,這家網站已經澄清關於硬體配置的數據時建議配置,而非最低標準。
google官方已公布新的操作系統版本號為2.3,代號「薑餅」,而非此前流傳的3.0。
LG已經對此事進行公開道歉,3.0和2.3號版本為同一個版本,而且要求配置並非1Ghz處理器,目前沒有說明限定最低,LG已經開發出600Mhz的手機搭載Android2.3系統。
Android版本命名規則 目前Android 3.0還沒有出,就曝光了3.5和4.0的操作系統,Android 4.0將沿用Google以往的命名慣例,使用26個字母順序同時是甜品之類的名稱,目前4.0為Ice Cream是3.5Honeycomb以及3.0Gingerbread的後續版本。大家一起回顧下,Android的命名方式吧。 Android 1.0 和 1.1不是很完善,當時Google也沒有給出什麼甜點的代號,但是從下面來看:
1.5 Cupcake
1.6 Donut
2.0~2.1 Eclair
2.2 Froyo
2.3 Gingerbread
3.5 Honeycomb
4.0 Ice Cream
那麼下一個版本將是J開頭的,是不是Juice呢?讓大家拭目以待吧。
開放手機聯盟

開放手機聯盟logo為了推廣Android平台技術,Google和幾十個手機相關企業建立了開放手機聯盟(Open Handset Alliance)。 聯盟成員包括摩托羅拉(Motorola)、HTC、SAMSUNG、LG、 Intel、NVIDIA、SiRF、Skype、KUPA Map 、MTK 以及中國移動在內的34家技術和無線應用的領軍企業,都將基於該平台開發手機的新型業務,應用之間的通用性和互聯性將在最大程度上得到保持。34家相關企業的加盟,也將大大降低新型手機設備的研發成本,完全整合的「全移動功能性產品」成為「開放手機聯盟」的最終目標。這34家企業中並不包含把持 Symbian的Nokia公司,以及憑藉著iPhone風光正在的Apple公司,美國運營商AT&T和Verizon,當然微軟沒有加入,獨樹一幟的加拿大RIM和他Blackberry也被擋在門外。
「開放手機聯盟」表示,Android平台可以促使移動設備的創新,讓用戶體驗到最優越的移動服務,同時,開發商也將得到一個新的開放級別,更方便的進行協同合作,從而保障新型移動設備的研發速度。
手機開放聯盟大家庭成員名單:
1、主要手機和其他終端製造商 Motorola(摩托羅拉)- 美國(美國最大的手機製造商,著名老牌IT公司)
Sony Ericsson(索尼愛立信)- 英國(索尼和愛立信的合資公司,歐洲第二大手機公司)
HTC(宏達國際電子)- 台灣(Palm等多款智能手機的代工廠,多普達手機母公司)
Samsung Electronics(三星電子)- 韓國(亞洲最大手機公司)
LG Electronics(LG電子)- 韓國(亞洲第二大手機公司,韓國第二的電子品牌)
Lumigon (丹麥陸力更手機公司)- 丹麥(丹麥著名智能手機公司)
ARCHOS(愛可視)- 法國(全球性的消費電子設備製造商)
TOSHIBA(東芝)- 日本(日本IT行業的先鋒)
2、主要移動運營商 China Telecom-中國電信(世界最大的中文綜合信息服務提供商。骨幹網帶寬達到14T。中國唯一的通信全業務提供商,擁有衛星業務(重組時兼并衛通民用業務)。)
ChinaMobile(中國移動)- 中國(全球最大的移動運營商,截至09年9月底 有5.03億用戶)
China Unicom(中國聯通)- 中國
KDDI - 日本(2900萬用戶)
NTT DoCoMo(日本電信電話公司)- 日本(5200萬用戶)
Sprint Nextel(美國斯普林特Nextel公司)- 美國(美國第三大移動運營商,5400萬用戶)
Telecom Italia(義大利電信)- 義大利(義大利主要的移動運營商,3400萬用戶)
Telefónica - 西班牙(在歐洲和拉美有1.5億用戶)
T-Mobile - 德國(德國電信子公司,在美國和歐洲有1.1億用戶)
3、半導體公司 ST(意法半導體)- 歐洲(歐洲最大半導體公司)
Infineon(英飛凌科技)- 德國(歐洲第二大半導體公司)
ST-Ericsson(ST愛立信)- 歐洲(整合愛立信移動平台與ST-NXP Wireless公司)
Audience Corp(聽眾)- 美國(音頻處理方案供應商)
Broadcom Corp(博通)- 美國(無線半導體主要供應商)
Intel(英特爾)- 美國(桌面與移動平台CPU方案供應商)
Marvell Technology Group(俊茂微電子)- 美國(寬頻通信和存儲解決方案供應商)
NVIDIA(英偉達)- 美國(桌面與移動平台圖形處理方案供應商)
SiRF(瑟夫)- 美國(GPS與無線通信技術供應商)
Synaptics(新思)- 美國(移動設備觸摸板、輸入設備與手機用戶界面技術提供商)
Texas Instruments(德州儀器)- 美國(數字信號處理與模擬技術半導體供應商)
Qualcomm(高通)- 美國(數字信號處理與模擬技術半導體供應商)
HP(Hewlett-Packard Development Company, L.P;惠普)- 美國(數碼產品綜合方案供應商)
MediaTek(聯發科)- 中國台灣(IC晶元設計商)
4、軟體公司 Aplix - 日本(移動設備JAVA技術推廣與領導者)
Ascender - 美國(開放手機聯盟;手機字體提供商)
SkypeeBay> - 美國(開放手機聯盟;網際網路電話技術提供商)
Esmertec(微迅)- 瑞士(移動通訊和嵌入式解決方案軟體供應商)
Living Image - 美國(開放手機聯盟;專業圖形提供商)
NMS Communications - 加拿大(通信行業解決方案和軟硬體產品提供商)
Noser Engineering AG - 德國(企業解決方案提供商)
Nuance Communication - 美國(開放手機聯盟;語音識別技術與顯像解決方案提供商)
PacketVideo - 美國(開放手機聯盟;移動設備多媒體播放軟體供應商)
SkyPop - 美國(開放手機聯盟移動手機服務提供商)
Sonix Network - 美國(開放手機聯盟;數據管理、網站經營與信息技術服務管理方案解決商)
TAT-The Astonishing Tribe - 瑞典(移動設備UI設計公司)
Wind River Systems(風河)- 美國(無線設備和消費電子產品嵌入式軟體開發商,已被英特爾收購)
特性 ·應用程序框架 支持組件的重用與替換
·Dalvik虛擬機 專門為移動設備做了優化
·內部集成瀏覽器 該瀏覽器基於開源的WebKit 引擎

android·優化的圖形庫 包括2D和3D圖形庫,3D圖形庫基於OpenGL ES 1.0 (硬體加速可選)
·#SQLite 用作結構化的數據存儲
·多媒體支持 包括常見的音頻、視頻和靜態印象文件格式 (如 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
·GSM電話 (依賴於硬體)
·藍牙Bluetooth, EDGE, 3G, and WiFi (依賴於硬體)
·照相機,GPS,指南針,和加速度計 (依賴於硬體)
·豐富的開發環境 包括設備模擬器,調試工具,內存及性能分析圖表,和Eclipse集成開發環境插件
架構 下圖顯示的是Android操作系統的主要組件。每一部分將會在下面具體描述。

Android架構Android系統架構由5部分組成,分別是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分將詳細介紹這5個部分。
架構詳解 現在我們拿起手術刀來剖析各個部分。其實這部分SDK文檔已經幫我們做得很好了,我們要做的就是拿來主義,然後再加上自己理解。下面自底向上分析各層。
1、Linux Kernel Android基於Linux 2.6提供核心繫統服務,例如:安全、內存管理、進程管理、網路堆棧、驅動模型。Linux Kernel也作為硬體和軟體之間的抽象層,它隱藏具體硬體細節而為上層提供統一的服務。
如果你學過計算機網路知道OSI/RM,就會知道分層的好處就是使用下層提供的服務而為上層提供統一的服務,屏蔽本層及以下層的差異,當本層及以下層發生了變化不會影響到上層。也就是說各層各盡其職,各層提供固定的SAP(Service Access Point),專業點可以說是高內聚、低耦合。
如果你只是做應用開發,就不需要深入了解Linux Kernel層。
2、Android Runtime Android包含一個核心庫的集合,提供大部分在Java編程語言核心類庫中可用的功能。每一個Android應用程序是Dalvik虛擬機中的實例,運行在他們自己的進程中。Dalvik虛擬機設計成,在一個設備可以高效地運行多個虛擬機。Dalvik虛擬機可執行文件格式是.dex,dex格式是專為Dalvik設計的一種壓縮格式,適合內存和處理器速度有限的系統。
大多數虛擬機包括JVM都是基於棧的,而Dalvik虛擬機則是基於寄存器的。兩種架構各有優劣,一般而言,基於棧的機器需要更多指令,而基於寄存器的機器指令更大。dx 是一套工具,可以將 Java .class 轉換成 .dex 格式。一個dex文件通常會有多個.class。由於dex有時必須進行最佳化,會使文件大小增加1-4倍,以ODEX結尾。
Dalvik虛擬機依賴於Linux 內核提供基本功能,如線程和底層內存管理。
3、Libraries Android包含一個C/C++庫的集合,供Android系統的各個組件使用。這些功能通過Android的應用程序框架(application framework)暴露給開發者。下面列出一些核心庫:
系統C庫——標準C系統庫(libc)的BSD衍生,調整為基於嵌入式Linux設備
媒體庫——基於PacketVideo的OpenCORE。這些庫支持播放和錄製許多流行的音頻和視頻格式,以及靜態圖像文件,包括MPEG4、 H.264、 MP3、 AAC、 AMR、JPG、 PNG
界面管理——管理訪問顯示子系統和無縫組合多個應用程序的二維和三維圖形層
LibWebCore——新式的Web瀏覽器引擎,驅動Android 瀏覽器和內嵌的web視圖
SGL——基本的2D圖形引擎
3D庫——基於OpenGL ES 1.0 APIs的實現。庫使用硬體3D加速或包含高度優化的3D軟體光柵
FreeType ——點陣圖和矢量字體渲染
SQLite ——所有應用程序都可以使用的強大而輕量級的關係資料庫引擎
4、Application Framework 通過提供開放的開發平台,Android使開發者能夠編製極其豐富和新穎的應用程序。開發者可以自由地利用設備硬體優勢、訪問位置信息、運行後台服務、設置鬧鐘、向狀態欄添加通知等等,很多很多。
開發者可以完全使用核心應用程序所使用的框架APIs。應用程序的體系結構旨在簡化組件的重用,任何應用程序都能發布他的功能且任何其他應用程序可以使用這些功能(需要服從框架執行的安全限制)。這一機制允許用戶替換組件。
所有的應用程序其實是一組服務和系統,包括:
視圖(View)——豐富的、可擴展的視圖集合,可用於構建一個應用程序。包括包括列表、網格、文本框、按鈕,甚至是內嵌的網頁瀏覽器
內容提供者(Content Providers)——使應用程序能訪問其他應用程序(如通訊錄)的數據,或共享自己的數據
資源管理器(Resource Manager)——提供訪問非代碼資源,如本地化字元串、圖形和布局文件
通知管理器(Notification Manager)——使所有的應用程序能夠在狀態欄顯示自定義警告
活動管理器(Activity Manager)——管理應用程序生命周期,提供通用的導航回退功能
5、Applications Android裝配一個核心應用程序集合,包括電子郵件客戶端、SMS程序、日曆、地圖、瀏覽器、聯繫人和其他設置。所有應用程序都是用Java編程語言寫的。更加豐富的應用程序有待我們去開發!
從上面我們知道Android的架構是分層的,非常清晰,分工很明確。Android本身是一套軟體堆疊(Software Stack),或稱為「軟體疊層架構」,疊層主要分成三層:操作系統、中間件、應用程序。從上面我們也看到了開源的力量,一個個熟悉的開源軟體在這裡貢獻了自己的一份力量。
應用程序 Android會同一個核心應用程序包一起發布,該應用程序包包括email客戶端,SMS短消息程序,日曆,地圖,瀏覽器,聯繫人管理程序等。所有的應用程序都是用JAVA編寫的。
Android 應用程序框架開發者也完全可以訪問核心應用程序所使用的API框架。該應用程序架構用來簡化組件軟體的重用;任何一個應用程序都可以發布它的功能塊並且任何其它的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性限制)。該應用程序重用機制使得組件可以被用戶替換。
以下所有的應用程序都由一系列的服務和系統組成,包括:[1]
·一個可擴展的視圖(Views )可以用來建應用程序,包括列表(lists),網格(grids),文本框(text boxes),按鈕(buttons),甚至包括一個可嵌入的web瀏覽器
·內容管理器(Content Providers )使得應用程序可以訪問另一個應用程序的數據(如聯繫人資料庫),或者共享它們自己的數據。
·一個資源管理器 (Resource Manager)提供非代碼資源的訪問,如本地字元串,圖形,和分層文件( layout files )。
·一個通知管理器 (Notification Manager)使得應用程序可以在狀態欄中顯示客戶通知信息。
·一個活動類管理器 (Activity Manager)用來管理應用程序生命周期並提供常用的導航回退功能。
有關更多的細節和怎樣從頭寫一個應用程序,請參考 寫一個 Android 應用程序 部分。
Android 程序庫Android 包括一個被 Android 系統中各種不同組件所使用的 C/C++ 庫集。該庫通過 Android 應用程序框架為開發者提供服務。以下是一些主要的核心庫:
系統 C 庫 - 一個從 BSD 繼承來的標準 C 系統函數庫( libc ),專門為基於 embedded linux 的設備定製。 媒體庫 - 基於 PacketVideo OpenCORE;該庫支持錄放,並且可以錄製許多流行的音頻視頻格式,還有靜態印像文件包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。 Surface Manager - 對顯示子系統的管理,並且為多個應用程序提供2D和3D圖層的無縫融合。 LibWebCore - 一個最新的web瀏覽器引擎用來支持Android瀏覽器和一個可嵌入的web視圖。 SGL - 一個內置的2D圖形引擎 3D libraries - 基於OpenGL ES 1.0 APIs實現;該庫可以使用硬體3D加速(如果可用)或者使用高度優化的3D軟加速。 FreeType - 點陣圖(bitmap)和向量(vector)字體顯示。 SQLite - 一個對於所有應用程序可用,功能強勁的輕型關係型資料庫引擎。 |
|