国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
android

android

編輯本段名稱來(lái)源

  Android一詞最早出現(xiàn)于法國(guó)作家利爾亞當(dāng)(Auguste Villiers de l'Isle-Adam)在1886年發(fā)表的科幻小說(shuō)未來(lái)夏娃》(L'ève future)中。他將外表像人的機(jī)器起名為Android。

編輯本段內(nèi)置服務(wù)

  谷歌移動(dòng)服務(wù)(英文:Google Mobile Service)是谷歌的一項(xiàng)服務(wù),該服務(wù)簡(jiǎn)稱“GMS”,指在讓用戶利用移動(dòng)電話或其他移動(dòng)設(shè)備使用谷歌搜索、谷歌地圖、GmailYouTube、Android Market等谷歌服務(wù)產(chǎn)品。
  谷歌將谷歌移動(dòng)服務(wù)(GMS)內(nèi)嵌到Android手機(jī)系統(tǒng)中,并且對(duì)android手機(jī)生產(chǎn)商給予不同程度的授權(quán)。
  GMS是Android操作系統(tǒng)的靈魂,大部分用戶使用Android手機(jī),其實(shí)就是為了使用谷歌服務(wù)。

編輯本段開(kāi)放手持設(shè)備聯(lián)盟

  開(kāi)放手持設(shè)備聯(lián)盟Open Handset Alliance)是美國(guó)Google公司于2007年11月5日宣布組建的一個(gè)全球性的聯(lián)盟組織。這一聯(lián)盟將支持Google發(fā)布的手機(jī)操作系統(tǒng)或者應(yīng)用軟件,共同開(kāi)發(fā)Android系統(tǒng)的開(kāi)放源代碼。開(kāi)放手持設(shè)備聯(lián)盟包括手機(jī)制造商、手機(jī)芯片廠商和移動(dòng)運(yùn)營(yíng)商。

編輯本段版本記錄

命名規(guī)則

  Android 用甜點(diǎn)作為它們系統(tǒng)版本的代號(hào)的命名方法開(kāi)始于 Andoird 1.5 發(fā)布的時(shí)候。作為每個(gè)版本代表的甜點(diǎn)的尺寸越變?cè)酱?,然后按?6個(gè)字母數(shù)序:紙杯蛋糕,甜甜圈,松餅,凍酸奶,姜餅,蜂巢,冰激凌三明治

發(fā)行版本

  
版本備注
Android1.12008 年9月發(fā)布的Android第一版
Android 1.5
Cupcake
(紙杯蛋糕)
2009年4月30日,官方1.5版本(Cupcake 紙杯蛋糕)的Android發(fā)布。主要的更新如下:
1、拍攝/播放影片,并支持上傳到Y(jié)outube
2、支持立體聲藍(lán)牙耳機(jī),同時(shí)改善自動(dòng)配對(duì)性能
3、最新的采用WebKit技術(shù)的瀏覽器,支持復(fù)制/貼上和頁(yè)面中搜索
4、GPS性能大大提高
5、提供屏幕虛擬鍵盤
6、主屏幕增加音樂(lè)播放器和相框widgets
7、應(yīng)用程序自動(dòng)隨著手機(jī)旋轉(zhuǎn)
8、短信、Gmail、日暦,瀏覽器的用戶接口大幅改進(jìn),如Gmail可以批量刪除郵件
9、相機(jī)啟動(dòng)速度加快,拍攝圖片可以直接上傳到Picasa
10、來(lái)電照片顯示
Android 1.6
Donut
(甜甜圈)
2009年9月15日,1.6(Donut 甜甜圈)版本軟件開(kāi)發(fā)工具包發(fā)布。主要的更新如下:
1、重新設(shè)計(jì)的Android Market手勢(shì)
2、支持支持CDMA網(wǎng)絡(luò)
3、文字轉(zhuǎn)語(yǔ)音系統(tǒng)(Text-to-Speech)
4、快速搜索框
5、全新的拍照接口
6、查看應(yīng)用程序耗電
7、支持虛擬私人網(wǎng)絡(luò)(VPN)
8、支持更多的屏幕分辨率。
9、支持OpenCore2媒體引擎
10、新增面向視覺(jué)或聽(tīng)覺(jué)困難人群的易用性插件
Android2.0/2.0.1/2.1
Eclair
(松餅)
2009年10月26日,2.0(Eclair 松餅)版本軟件開(kāi)發(fā)工具包發(fā)布。主要的更新如下:
1、優(yōu)化硬件速度
2、"Car Home"程序
3、支持更多的屏幕分辨率
4、改良的用戶界面
5、新的瀏覽器的用戶接口和支持HTML5
6、新的聯(lián)系人名單
7、更好的白色/黑色背景比率
8、改進(jìn)Google Maps3.1.2
9、支持Microsoft Exchange
10、支持內(nèi)置相機(jī)閃光燈
11、支持?jǐn)?shù)碼變焦
12、改進(jìn)的虛擬鍵盤
13、支持藍(lán)牙2.1
14、支持動(dòng)態(tài)桌面的設(shè)計(jì)
Android 2.2/2.2.1
Froyo
(凍酸奶)
2010年5月20日,2.2(Froyo 凍酸奶)版本軟件開(kāi)發(fā)工具包發(fā)布。主要的更新如下:
1、整體性能大幅度的提升
2、3G網(wǎng)絡(luò)共享功能。
3、Flash的支持。
4、App2sd功能。
5、全新的軟件商店。
6、更多的Web應(yīng)用API接口的開(kāi)發(fā)。
Android 2.3
Gingerbread
(姜餅)
2010年12月7日,2.3(Gingerbread 姜餅)版本軟件開(kāi)發(fā)工具包發(fā)布。主要的更新如下:
1、增加了新的垃圾回收和優(yōu)化處理事件
2、原生代碼可直接存取輸入和感應(yīng)器事件、EGL/OpenGL ES、OpenSL ES。
3、新的管理窗口和生命周期的框架。
4、支持VP8和WebM視頻格式,提供AAC和AMR寬頻編碼,提供了新的音頻效果器
5、支持前置攝像頭、SIP/VOIP和NFC(近場(chǎng)通訊)
6、簡(jiǎn)化界面、速度提升:
7、更快更直觀的文字輸入:
8、一鍵文字選擇和復(fù)制/粘帖:
9、改進(jìn)的電源管理系統(tǒng):
10、新的應(yīng)用管理方式:

Android 3.0
Honeycomb
(蜂巢)
2011年2月2日, 3.0(Honeycomb 蜂巢)版本主要更新如下:
·優(yōu)化針對(duì)平板
·全新設(shè)計(jì)的UI增強(qiáng)網(wǎng)頁(yè)瀏覽功能
·n-app purchases功能
Android 3.1
Honeycomb
(蜂巢)
2011年5月11日在Google I/O開(kāi)發(fā)者大會(huì)宣布發(fā)布,版本主要更新如下:
Honeycomb蜂巢(改進(jìn)3.0BUG)
經(jīng)過(guò)優(yōu)化的Gmail電子郵箱;
全面支持GoogleMaps
將Android手機(jī)系統(tǒng)跟平板系統(tǒng)再次合并從而方便開(kāi)發(fā)者。
任務(wù)管理器可滾動(dòng),支持USB 輸入設(shè)備(鍵盤、鼠標(biāo)等)。
支持 Google TV.可以支持XBOX 360無(wú)線手柄
widget支持的變化,能更加容易的定制屏幕widget插件。

Android 3.2
Honeycomb
(蜂巢)
2011年7月13日發(fā)布,版本更新如下:
支持7英寸設(shè)備
引入了應(yīng)用顯示縮放功能

Android 4.0
Ice Cream Sandwich
(冰激凌三明治)
2011年10月19日 在香港發(fā)布,
4.0(Ice Cream Sandwich 冰激凌三明治)版本主要更新如下:
1、全新的ui
2、全新的Chrome Lite瀏覽器,有離線閱讀,16標(biāo)簽頁(yè),隱身瀏覽模式等。
3、截圖功能
4、更強(qiáng)大的圖片編輯功能
5、自帶照片應(yīng)用堪比Instagram,可以加濾鏡、加相框,進(jìn)行360度全景拍攝,照片還能根據(jù)地點(diǎn)來(lái)排序
6、Gmail加入手勢(shì)、離線搜索功能,UI更強(qiáng)大。
7、新功能People:以聯(lián)系人照片為核心,界面偏重滑動(dòng)而非點(diǎn)擊,集成了Twitter、Linkedin、Google+等通訊工具。有望支持用戶自定義添加第三方服務(wù)。
8、新增流量管理工具,可具體查看每個(gè)應(yīng)用產(chǎn)生的流量。
9、正在運(yùn)行的程序可以像電腦一樣的互相切換
10、人臉識(shí)別功能
11、系統(tǒng)優(yōu)化、速度更快
12、支持虛擬按鍵,手機(jī)可以不再擁有任何按鍵
13、更直觀的程序文件夾:
14、平板電腦和智能手機(jī)通用
15、支持更大的分辨率
16、專為雙核處理器編寫的優(yōu)化驅(qū)動(dòng)
17、全新的18、增強(qiáng)的復(fù)制粘貼功能
19、語(yǔ)音功能
20、全新通知欄:
21、更加豐富的數(shù)據(jù)傳輸功能
22、更多的感應(yīng)器支持
23、語(yǔ)音識(shí)別的鍵盤:
24、全新的3D驅(qū)動(dòng), 游戲支持能力提升
25、全新的谷歌電子市場(chǎng)
26、增強(qiáng)的桌面插件自定義

Android N.n
Jelly Bean
“果凍豆”
繼“冰激凌三明治”之后的下一版Android系統(tǒng)。

編輯本段發(fā)展歷史

  2005年事件
  Google收購(gòu)了成立僅22個(gè)月的高科技企業(yè)Android。
  2007年事件
  11月5日,Google公司正式向外界展示Android操作系統(tǒng)。
  11月5日,Google與34家手機(jī)制造商、軟件開(kāi)發(fā)商、電信運(yùn)營(yíng)商和芯片制造商共同創(chuàng)建開(kāi)放手持設(shè)備聯(lián)盟。
  2008年事件
  5月28日,Patrick Brady于Google I/O大會(huì)上提出Android HAL架構(gòu)圖。
  8月18日,Android獲得美國(guó)聯(lián)邦通信委員會(huì)的批準(zhǔn)。
  9月22日,谷歌正式對(duì)外發(fā)布第一款A(yù)ndroid手機(jī)——HTC G1。
  9月23日,谷歌發(fā)布Android1.0。
  9月24日,全球業(yè)界都表示不看好Android操作系統(tǒng),并且聲稱最多1年,Android就會(huì)被Google關(guān)閉。
  2009年事件
  4月30日,Android1.5正式發(fā)布。
  5月10日,HTC G1和HTC G2市場(chǎng)大賣,成為僅次于iPhone的熱門機(jī)型。
  9月25日,Android1.6正式發(fā)布。
  9月29日,HTC Hero G3廣受歡迎,成為全球最受歡迎的機(jī)型。
  10月28日,Android 2.0 智能手機(jī)操作系統(tǒng)正式發(fā)布。
  11月10日,由于Android的火熱,Android平臺(tái)出現(xiàn)第一個(gè)惡意間諜軟件:Mobile Spy,該程序會(huì)自動(dòng)記錄用戶所輸入的任何信息并發(fā)送到黑客的郵箱中,還可以視頻錄下用戶的所有操作過(guò)程。
  2010年事件
  1月7日,Google發(fā)布了旗下第一款自主品牌手機(jī):Nexus one(HTC G5)。
  1月,谷歌與Linux基金會(huì)就谷歌修改了Linux內(nèi)核而產(chǎn)生了矛盾。
  2月3日,Linux內(nèi)核開(kāi)發(fā)者Greg Kroah-Hartman將Android的驅(qū)動(dòng)程序從Linux內(nèi)核“狀態(tài)樹(shù)”上除去,從此,Android與Linux開(kāi)發(fā)分道揚(yáng)鑣。
  5月19日,Google正式對(duì)外發(fā)布Android2.2智能操作系統(tǒng)。
  5月20日,Google對(duì)外正式展示了搭載Android系統(tǒng)的智能電視-Google TV,該電視為全球首臺(tái)智能電視。
  7月1日,Google宣布正式與雅虎、亞馬遜合作,并且在Android上推出多項(xiàng)Kindle服務(wù)和雅虎服務(wù)。
  7月9日,美國(guó)NDP集團(tuán)調(diào)查顯示,Android系統(tǒng)已占據(jù)了美國(guó)手機(jī)市場(chǎng)28%的份額,全球17%的市場(chǎng)份額。
  8月12日,Android平臺(tái)出現(xiàn)第一個(gè)木馬病毒:Trojan-SMS.AndroidOS.FakePlayer.a,該木馬病毒會(huì)偽裝成應(yīng)用程序,當(dāng)用戶不小心安裝之后,它便會(huì)瘋狂地發(fā)送短信,使用戶的手機(jī)開(kāi)通高額的收費(fèi)服務(wù)。
  9月,Android應(yīng)用數(shù)量超過(guò)9萬(wàn)個(gè)。
  9月21日,Google對(duì)外公布數(shù)據(jù),每日銷售的Android設(shè)備的新用戶數(shù)達(dá)到20萬(wàn)。
  10月26日,Google宣布Android達(dá)到第一個(gè)里程碑:電子市場(chǎng)上的Android應(yīng)用數(shù)量達(dá)到10萬(wàn)個(gè)。
  12月7日,Google正式發(fā)布Android2.3操作系統(tǒng)。
  2011年事件
  1月,Android應(yīng)用數(shù)量超過(guò)20萬(wàn)。
  1月,Google對(duì)外公布數(shù)據(jù),每日Android設(shè)備的新用戶數(shù)達(dá)到30萬(wàn)。
  2月2日,Android3.0正式發(fā)布。
  6月,Android在日本的智能手機(jī)操作系統(tǒng)市場(chǎng)占有率達(dá)到57%。
  7月,Android在歐洲的智能手機(jī)操作系統(tǒng)市場(chǎng)占有率達(dá)到了22.3%
  7月,Google對(duì)外公布數(shù)據(jù),Android每天的新用戶達(dá)到55萬(wàn),Android設(shè)備用戶總數(shù)達(dá)1.35億。
  8月,谷歌收購(gòu)摩托羅拉移動(dòng)。
  8月2日,Android手機(jī)已占據(jù)全球智能機(jī)市場(chǎng)48%的份額,并在亞太地區(qū)市場(chǎng)占據(jù)統(tǒng)治地位,終結(jié)了Symbian(塞班系統(tǒng))的霸主地位,躍居全球第一。
  8月,Android在韓國(guó)的智能手機(jī)操作系統(tǒng)市場(chǎng)占有率達(dá)到了95%。
  8月,Android系統(tǒng)在35個(gè)國(guó)家市場(chǎng)占有率第一,平均市場(chǎng)占有率達(dá)到48%。
  8月,Android系統(tǒng)成為亞太地區(qū)第一大系統(tǒng),市場(chǎng)占有率為亞太地區(qū)第一大。
  9月,數(shù)據(jù)顯示,Android應(yīng)用數(shù)目已經(jīng)達(dá)到48萬(wàn)。
  9月,Android在美國(guó)的智能手機(jī)操作系統(tǒng)市場(chǎng)占有率達(dá)到43%。
  10月19日,谷歌正式發(fā)布Android 4.0操作系統(tǒng)。
  11月15日,Android在中國(guó)大陸的智能手機(jī)操作系統(tǒng)市場(chǎng)占有率達(dá)到了58%。
  11月18日,美國(guó)NPD數(shù)據(jù)顯示,Android和iOS平臺(tái)上的游戲占有率都首度超過(guò)任天堂DS掌機(jī)和索尼PSP掌機(jī),手機(jī)游戲玩家也超過(guò)了掌機(jī)玩家,游戲開(kāi)發(fā)商更傾向于向Android和iOS手機(jī)上開(kāi)發(fā)游戲。
  11月18日,谷歌報(bào)告顯示,通過(guò)谷歌服務(wù)器激活的Android設(shè)備用戶總數(shù)已經(jīng)超過(guò)2億,每天通過(guò)谷歌服務(wù)器激活的新用戶數(shù)超過(guò)55萬(wàn),而這僅僅是通過(guò)谷歌服務(wù)器激活的用戶設(shè)備數(shù)。
  12月9日,Google對(duì)外宣布,Android達(dá)到另一個(gè)里程碑,Android電子市場(chǎng)即Android Market的累計(jì)下載量已經(jīng)突破100億次,平均每月的下載量為10億次。

編輯本段系統(tǒng)架構(gòu)

  Android是以Linux為核心的手機(jī)操作平臺(tái),作為一款開(kāi)放式操作系統(tǒng),隨著Android的快速發(fā)展,如今已允許開(kāi)發(fā)者使用多種編程語(yǔ)言來(lái)開(kāi)發(fā)Android應(yīng)用程序,而不再是以前只能使用Java開(kāi)發(fā)Android應(yīng)用程序的單一局面,因而受到眾多開(kāi)發(fā)者的歡迎,成為真正意義上的開(kāi)發(fā)式操作系統(tǒng)。
  在Android中,開(kāi)發(fā)者可以使用Java作為編程語(yǔ)言來(lái)開(kāi)發(fā)應(yīng)用程序,也可以通過(guò)NDK使用C/C++作為編程語(yǔ)言來(lái)開(kāi)發(fā)應(yīng)用程序,也可使用SL4A來(lái)使用其他各種腳本語(yǔ)言進(jìn)行編程(如:pythonlua、tclphp等等),還有其他諸如:Qt(qt for android)、Mono(mono for android)等一些著名編程框架也開(kāi)始支持Android編程,甚至通過(guò)MonoDroid,開(kāi)發(fā)者還可以使用C#作為編程語(yǔ)言來(lái)開(kāi)發(fā)應(yīng)用程序。另外,谷歌還在2009年特別發(fā)布了針對(duì)初學(xué)者的Android Simple語(yǔ)言,該語(yǔ)言類似Basic語(yǔ)言。而在網(wǎng)頁(yè)編程語(yǔ)言方面,JavaScript,ajax,HTML5,jquery、sencha、dojo、mobl、PhoneGap等等都已經(jīng)支持Android開(kāi)發(fā)。
  而在Android系統(tǒng)底層方面,Android使用C/C++作為開(kāi)發(fā)語(yǔ)言。

應(yīng)用程序(部分)

  Java開(kāi)發(fā)方面
  Android支持使用Java作為編程語(yǔ)言來(lái)開(kāi)發(fā)應(yīng)用程序,而Android的Java開(kāi)發(fā)方面從接口到功能,都有層出不窮的變化??紤]到Java虛擬機(jī)的效率和資源占用,谷歌重新設(shè)計(jì)了Android的Java,以便能提高效率和減少資源占用,因而與J2ME等不同。 其中Activity等同于J2ME的MIDlet,一個(gè) Activity 類(Class)負(fù)責(zé)創(chuàng)建視窗(Windows),一個(gè)活動(dòng)中的Activity就是在 foreground(前景)模式,背景運(yùn)行的程序叫做Service。兩者之間通過(guò)由ServiceConnection和AIDL連結(jié),達(dá)到復(fù)數(shù)程序同時(shí)運(yùn)行的效果。如果運(yùn)行中的 Activity 全部畫面被其他 Activity 取代時(shí),該 Activity 便被停止(Stopped),甚至被系統(tǒng)清除(Kill)。
  View等同于J2ME的Displayable,程序人員可以通過(guò) View 類與“XML layout”檔將UI放置在視窗上,Android 1.5的版本可以利用 View 打造出所謂的 Widgets,其實(shí)Widget只是View的一種,所以可以使用xml來(lái)設(shè)計(jì)layout,HTC的Android Hero手機(jī)即含有大量的widget。至于ViewGroup 是各種layout 的基礎(chǔ)抽象類(abstract class),ViewGroup之內(nèi)還可以有ViewGroup。View的構(gòu)造函數(shù)不需要再Activity中調(diào)用,但是Displayable的是必須的,在Activity 中,要通過(guò)findViewById()來(lái)從XML 中取得View,Android的View類的顯示很大程度上是從XML中讀取的。View 與事件(event)息息相關(guān),兩者之間通過(guò)Listener 結(jié)合在一起,每一個(gè)View都可以注冊(cè)一個(gè)event listener,例如:當(dāng)View要處理用戶觸碰(touch)的事件時(shí),就要向Android框架注冊(cè)View.OnClickListener。另外還有Image等同于J2ME的BitMap。
  C/C++開(kāi)發(fā)方面
  早期的Android開(kāi)發(fā)只支持Java作為編程語(yǔ)言開(kāi)發(fā)應(yīng)用程序,因而使得其他語(yǔ)言開(kāi)發(fā)者只能望而卻步。2010年4月,谷歌正式對(duì)開(kāi)發(fā)者發(fā)布了Android NDK,NDK允許開(kāi)發(fā)者使用C/C++作為編程語(yǔ)言來(lái)為Android開(kāi)發(fā)應(yīng)用程序,初版的NDK使得開(kāi)發(fā)者看到了C/C++在Android開(kāi)發(fā)中的希望。
  但是,當(dāng)前版本的NDK在功能上還有很多局限性:NDK并沒(méi)有提供對(duì)應(yīng)用程序生命周期的維護(hù);NDK也不提供對(duì)Android系統(tǒng)中大量系統(tǒng)事件的支持;對(duì)于作為應(yīng)用程序交互接口的UI API,當(dāng)前版本的NDK中也沒(méi)有提供。但是相對(duì)于初版的NDK,現(xiàn)在的NDK已經(jīng)進(jìn)行了許多重大的功能改進(jìn)。
  由此可見(jiàn),NDK仍然需要完善和發(fā)展,相信未來(lái)隨著NDK的發(fā)展,NDK可以做得更多更好。

中介軟件

  操作系統(tǒng)與應(yīng)用程序的溝通橋梁,應(yīng)用分為兩層:函數(shù)層(Library)和虛擬機(jī)(Virtual Machine)。 Bionic是 Android 改良libc的版本。Android 同時(shí)包含了Webkit,所謂的Webkit 就是Apple Safari 瀏覽器背后的引擎。Surface flinger 是就2D或3D的內(nèi)容顯示到屏幕上。Android使用工具鏈(Toolchain)為Google自制的Bionic Libc。
  Android采用OpenCORE作為基礎(chǔ)多媒體框架。OpenCORE可分7大塊:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。
  Android 使用skia 為核心圖形引擎,搭配OpenGL/ES。skia與Linux Cairo功能相當(dāng),但相較于Linux Cairo, skia 功能還只是雛形的。2005年Skia公司被Google收購(gòu),2007年初,Skia GL源碼被公開(kāi),目前Skia 也是Google Chrome 的圖形引擎。
  Android的多媒體數(shù)據(jù)庫(kù)采用SQLite數(shù)據(jù)庫(kù)系統(tǒng)。數(shù)據(jù)庫(kù)又分為共用數(shù)據(jù)庫(kù)及私用數(shù)據(jù)庫(kù)。用戶可通過(guò)ContentResolver類(Column)取得共用數(shù)據(jù)庫(kù)。
  Android的中間層多以Java 實(shí)現(xiàn),并且采用特殊的Dalvik 虛擬機(jī)(Dalvik Virtual Machine)。Dalvik虛擬機(jī)是一種“暫存器型態(tài)”(Register Based)的Java虛擬機(jī),變量皆存放于暫存器中,虛擬機(jī)的指令相對(duì)減少。
  Dalvik虛擬機(jī)可以有多個(gè)實(shí)例(instance), 每個(gè)Android應(yīng)用程序都用一個(gè)自屬的Dalvik虛擬機(jī)來(lái)運(yùn)行,讓系統(tǒng)在運(yùn)行程序時(shí)可達(dá)到優(yōu)化。Dalvik 虛擬機(jī)并非運(yùn)行Java字節(jié)碼(Bytecode),而是運(yùn)行一種稱為.dex格式的文件。

硬件抽像層

  Android 的 HAL(硬件抽像層)是能以封閉源碼形式提供硬件驅(qū)動(dòng)模塊。HAL 的目的是為了把 Android framework 與 Linux kernel 隔開(kāi),讓 Android 不至過(guò)度依賴 Linux kernel,以達(dá)成 kernel independent 的概念,也讓 Android framework 的開(kāi)發(fā)能在不考量驅(qū)動(dòng)程序?qū)崿F(xiàn)的前提下進(jìn)行發(fā)展。
  HAL stub 是一種代理人(proxy)的概念,stub 是以 *.so 檔的形式存在。Stub 向 HAL“提供”操作函數(shù)(operations),并由 Android runtime 向 HAL 取得 stub 的 operations,再 callback 這些操作函數(shù)。HAL 里包含了許多的 stub(代理人)。Runtime 只要說(shuō)明“類型”,即 module ID,就可以取得操作函數(shù)。

內(nèi)核

  Android 是運(yùn)行于 Linux kernel之上,但并不是GNU/Linux。因?yàn)樵谝话鉍NU/Linux 里支持的功能,Android 大都沒(méi)有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。Android 為了達(dá)到商業(yè)應(yīng)用,必須移除被GNU GPL授權(quán)證所約束的部份,例如Android將驅(qū)動(dòng)程序移到 userspace,使得Linux driver 與 Linux kernel徹底分開(kāi)。bionic/libc/kernel/ 并非標(biāo)準(zhǔn)的kernel header files。Android 的 kernel header 是利用工具由 Linux kernel header 所產(chǎn)生的,這樣做是為了保留常數(shù)、數(shù)據(jù)結(jié)構(gòu)與宏。
  目前Android 的 Linux kernel控制包括安全(Security),存儲(chǔ)器管理(Memory Management),程序管理(Process Management),網(wǎng)絡(luò)堆棧(Network Stack),驅(qū)動(dòng)程序模型(Driver Model)等。下載Android源碼之前,先要安裝其構(gòu)建工具 Repo來(lái)初始化源碼。Repo 是 Android 用來(lái)輔助Git工作的一個(gè)工具。

安全權(quán)限機(jī)制

  Android本身是一個(gè)權(quán)限分立的操作系統(tǒng)。在這類操作系統(tǒng)中,每個(gè)應(yīng)用都以唯一的一個(gè)系統(tǒng)識(shí)別身份運(yùn)行(Linux用戶ID與群組ID)。系統(tǒng)的各部分也分別使用各自獨(dú)立的識(shí)別方式。Linux就是這樣將應(yīng)用與應(yīng)用,應(yīng)用與系統(tǒng)隔離開(kāi)。
  系統(tǒng)更多的安全功能通過(guò)權(quán)限機(jī)制提供。權(quán)限可以限制某個(gè)特定進(jìn)程的特定操作,也可以限制每個(gè)URI權(quán)限對(duì)特定數(shù)據(jù)段的訪問(wèn)。
  Android安全架構(gòu)的核心設(shè)計(jì)思想是,在默認(rèn)設(shè)置下,所有應(yīng)用都沒(méi)有權(quán)限對(duì)其他應(yīng)用、系統(tǒng)或用戶進(jìn)行較大影響的操作。這其中包括讀寫用戶隱私數(shù)據(jù)(聯(lián)系人或電子郵件),讀寫其他應(yīng)用文件,訪問(wèn)網(wǎng)絡(luò)或阻止設(shè)備待機(jī)等。
  安裝應(yīng)用時(shí),在檢查程序簽名提及的權(quán)限,且經(jīng)過(guò)用戶確認(rèn)后,軟件包安裝器會(huì)給予應(yīng)用權(quán)限。從用戶角度看,一款A(yù)ndroid應(yīng)用通常會(huì)要求如下的權(quán)限:
  撥打電話、發(fā)送短信或彩信、修改/刪除SD卡上的內(nèi)容、讀取聯(lián)系人信息、讀取日程信息,寫入日程數(shù)據(jù)、讀取電話狀態(tài)或識(shí)別碼、精確的(基于GPS)地理位置、模糊的(基于網(wǎng)絡(luò)獲?。┑乩砦恢?、創(chuàng)建藍(lán)牙連接、對(duì)互聯(lián)網(wǎng)的完全訪問(wèn)、查看網(wǎng)絡(luò)狀態(tài),查看WiFi狀態(tài)、避免手機(jī)待機(jī)、修改系統(tǒng)全局設(shè)置、讀取同步設(shè)定、開(kāi)機(jī)自啟動(dòng)、重啟其他應(yīng)用、終止運(yùn)行中的應(yīng)用、設(shè)定偏好應(yīng)用、震動(dòng)控制、拍攝圖片等。
  一款應(yīng)用應(yīng)該根據(jù)自身提供的功能,要求合理的權(quán)限。用戶也可以分析一款應(yīng)用所需權(quán)限,從而簡(jiǎn)單判定這款應(yīng)用是否安全。如一款應(yīng)用是不帶廣告的單機(jī)版,也沒(méi)有任何附加內(nèi)容需要下載,那么它要求訪問(wèn)網(wǎng)絡(luò)的權(quán)限就比較可疑。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Android安全研究經(jīng)驗(yàn)談
HTC Wildfire S┃A510e新用戶入門指南
系統(tǒng)流暢 喬布斯這最后遺產(chǎn)也被敗光了 安卓閉源將解決卡頓問(wèn)題
Android的基本世界觀——系統(tǒng)簡(jiǎn)介,組件邏輯及其他
五種控制Android應(yīng)用的權(quán)限的方法
保護(hù)你的隱私,五種控制Android應(yīng)用的權(quán)限的方法
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服