android安全架構
A. 為什麼要設置讀寫手機存儲應用許可權
讀寫手機存儲應用許可權是對手機數據存取方式和許可權進行控制,為了防止非法用戶以不正當的方式存取信息,還對用戶的存取數據資格和許可權進行檢查。只有相關許可權的用戶才有許可權訪問相關數據。讀寫手機存儲應用許可權屬於手機數據安全保護機制的一種。
一款應用應該根據自身提供的功能,要求合理的許可權。用戶也可以分析一款應用所需許可權,從而簡單判定這款應用是否安全。如一款應用是不帶廣告的單機版,也沒有任何附加的內容需要下載,那麼它要求訪問網路的許可權就比較可疑。
(1)android安全架構擴展閱讀:
在Android操作系統中,每個應用都以一個系統識別身份運行(linux用戶ID與群組ID)。系統的各部分也分別使用各自獨立的識別方式。系統更多的安全功能通過許可權機制提供。許可權可以限制某個特定進程的特定操作,也可以限制每個URI許可權對特定數據段的訪問。
Android安全架構的核心設計思想是,在默認設置下,所有應用都沒有許可權對其他應用、系統或用戶進行較大影響的操作。這其中包括讀寫用戶隱私數據(聯系人或電子郵件),讀寫其他應用文件,訪問網路或阻止設備待機等。
B. 什麼是android系統,android的發展以及android的平台架構和特性
Android平台採用了整合的策略思想,包括底層Linux操作系統、中間層的中間件和上層的java應用程序。下面我把Android的特性及其架構體系結構總結一下。
一、Android的平台特性
Android平台有如下特性:
1. 應用程序框架支持組件的重用與替換。
這樣我們可以把系統中不喜歡的應用程序刪除,安裝我們喜歡的應用程序。
2. Dalvik虛擬機專門為移動設備進行了優化。
Android應用程序將由Java編寫、編譯的類文件通過DX工具轉換成一種後綴名為.dex的文件來執行。Dalvik虛擬機是基於寄存器的,相對於Java虛擬機速度要快很多。
3. 內部集成瀏覽器基於開源的WebKit引擎。
有了內置的瀏覽器,這將意味著WAP應用的時代即將結束,真正的移動互聯網時代已經來臨,手機就是一台「小電腦」,可以在網上隨意遨遊。
4. 優化的圖形庫包括2D和3D圖形庫,3D圖形庫基於OpenGL ES 1.0。
強大的圖形庫給游戲開發帶來福音。在3G最為重要的的應用莫過於手機上網和手機游戲。
5. sqlite用作結構化的數據存儲。
6. 多媒體支持包括常見的音頻、視頻和靜態印象文件格式
如MPEG4、H.264、MP3、AAC、AMR、JGP、PNG、GIF。
7. GSM電話(依賴於硬體)。
8. 藍牙(Bluetooth)、EDGE、3G、WiFi(依賴於硬體)。
9. 照相機、GPS、指南針和加速度計(依賴於硬體)。
10. 豐富的開發環境包括設備模擬器、調試工具、內存及性能分析圖表和Eclipse集成的開發環境插件。
Google提供了Android開發包SDK,其中包含了大量的類庫和開發工具,並且針對Eclipse的可視化開發插件ADT。
二、Android平台架構
從上圖我們可以看出,Android操作系統的體系結構可分為4層,由上到下依次是應用程序、應用程序框架、核心類庫和Linux內核,其中第三層還包括Android運行時的環境。下面分別來講解各個部分。
1. 程序應用
Android
連同一個核心應用程序包一起發布,該應用程序包包括E-mail客戶端、SMS短消息程序、日歷、地圖、瀏覽器、聯系人管理程序等。所有的應用程序都是用Java編寫的。
2. 應用程序框架
開發者完全可以訪問核心應用程序所使用的API框架。該應用程序框架架構用來簡化組件軟體的重用,任何一個應用程序都可以發布它的功能塊並且任何其他的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性限制)。該應用程序重用機制使得組件可以被用戶替換。
以下所有的應用程序都由一系列的服務和系統組成,包括:
1)一個可擴展的視圖(Views)可以用來創建應用程序,包括列表(lists)、網路(grids)、文本框(text
boxes)、按鈕(buttons),甚至是一個可嵌入的Web瀏覽器。
2)內容管理器(Content Providers)使得應用程序可以訪問另一個應用程序的數據(如聯系人資料庫),或者共享它們自己的數據。
3)一個資源管理器(Resource Manager)提供非代碼資源的訪問,如本地字元串、圖形和分層文件(layout files)。
4)一個通知管理器(Notification Manager)使得應用程序可以在狀態欄中顯示客戶通知信息。
5)一個活動類管理器(Activity Manager)用來管理應用程序生命周期並提供常用的導航回退功能。
3. Android程序庫
Android包括一個被Android系統中各種不同組件所使用的C/C++集庫。該庫通過Android應用程序框架為開發者提供服務。
以下是一些主要的核心庫:
1)系統C庫:一個從BSD繼承來的標准C系統函數庫(libc),專門為基於Embedded Linux的設備定製。
2)媒體庫:基於PacketVideo
OpenCORE;該庫支持錄放,並且可以錄制許多流行的音頻視頻格式,還有靜態映像文件包括MPEG4、H.264、MP3、AAC、JPG、PNG。
3)Surface Manager:對顯示子系統的管理,並且為多個應用程序提供2D和3D圖層的無縫融合。
4)LibWebCore:一個最新的Web瀏覽器引擎,用來支持Android瀏覽器和一個可嵌入的Web視圖。
5)SGL:一個內置的2D圖形引擎。
6)3D libraries:基於OpenGL ES 1.0 APIs實現;該庫可以使用硬體3D加速(如果可用)或者使用高度優化的3D軟加速。
7)FreeType:點陣圖(bitmap)和向量(vector)字體顯示。
8)SQLite:一個對於所以應用程序可用、功能強勁的輕型關系型資料庫引擎。
4. Android運行庫
Android包括了一個核心庫,該核心庫提供了Java編程語言核心庫的大多數功能。
每一個Android應用程序都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬機實例。Dalvik是針對同時高效地運行多個VMs實現的。Dalvik虛擬機執行.dex的Dalvik可執行文件,該格式文件針對最小內存使用做了優化。該虛擬機是基於寄存器的,所有的類都是經由Java匯編器編譯,然後通過SDK中的DX工具轉化成.dex格式由虛擬機執行。
Dalvik虛擬機依賴於Linux的一些功能,比如線程機制和底層內存管理機制。
5. Linux內核
Android的核心系統服務依賴於Linux內核,如安全性、內存管理、進程管理、網路協議棧和驅動模型。Linux內核也同時作為硬體和軟體棧之間的硬體抽象層。
C. 安卓架構中最底層是哪個
Android系統構架是安卓系統的體系結構,android的系統架構和其操作系統一樣,採用了分層的架構,共分為四層,從高到低分別是Android應用層,Android應用框架層,Android系統運行庫層和Linux內核層。
Android系統構架主要應用於ARM平台,但不僅限於ARM,通過編譯控制,在X86、MAC等體系結構的機器上同樣可以運行。
中文名
安卓系統構架
外文名
Android systematic framework
Android系統架構分為四層架構,從高到低分別是應用層,應用框架層,系統運行層和Linux內核層。
Android系統體系結構
1.應用層
Android會同一系列核心應用程序包一起發布,該應用程序包包括email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯系人管理程序等。它們一般都是使用Java進行編寫。
2.應用框架層
開發人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發布它的功能塊並且任何其它的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性限制)。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。
D. android的系統架構
android系統架構分從下往上為linux 內核層、運行庫、應用程序框架層、和應用程序層
linuxkernel:負責硬體的驅動程序、網路、電源、系統安全以及內存管理等功能。
libraries和 androidruntime:libraries:即c/c++函數庫部分,大多數都是開放源代碼的函數庫,例如webkit,該函數庫負責 android網頁瀏覽器的運行,例如標準的c函數庫libc、openssl、sqlite等,當然也包括支持游戲開發2dsgl和 3dopengles,在多媒體方面有mediaframework框架來支持各種影音和圖形文件的播放與顯示,例如mpeg4、h.264、mp3、 aac、amr、jpg和png等眾多的多媒體文件格式。android的runtime負責解釋和執行生成的dalvik格式的位元組碼。
applicationframework(應用軟體架構),java應用程序開發人員主要是使用該層封裝好的api進行快速開發。
applications:該層是java的應用程序層,android內置的googlemaps、e-mail、即時通信工具、瀏覽器、mp3播放 器等處於該層,java開發人員開發的程序也處於該層,而且和內置的應用程序具有平等的位置,可以調用內置的應用程序,也可以替換內置的應用程序。
上面的四個層次,下層為上層服務,上層需要下層的支持,調用下層的服務,這種嚴格分層的方式帶來的極大的穩定性、靈活性和可擴展性,使得不同層的開發人員可以按照規范專心特定層的開發。
android應用程序使用框架的api並在框架下運行,這就帶來了程序開發的高度一致性,另一方面也告訴我們,要想寫出優質高效的程序就必須對整個 applicationframework進行非常深入的理解。精通applicationframework,你就可以真正的理解android的設計 和運行機制,也就更能夠駕馭整個應用層的開發。
E. 什麼是安卓系統 安卓系統有什麼優點
現在市面上智慧手機系統多種多樣,目前android已經成為市場佔有率最高的移動作業系統,但是很多人對於它卻是又愛又恨。那什麼是安卓系統呢?安卓系統有哪些優缺點呢?下面一起來了解一下吧。
【什麼是安卓系統】
安卓系統英文簡稱為Android,是目前全球手機使用者使用最多的作業系統,由美國知名的谷歌公司開發,其系統都要應用在智慧手機、平板電腦等領域。
Android是一種以Linux為基礎的開放原始程式碼作業系統,主要使用於可攜式裝置。尚未有統一中文名稱,在國內我們通常稱之為安卓系統。Android作業系統最初由Andy Rubin開發,
最初主要支援手機。2005年由Google收購注資,並組建開放手機聯盟開發改良,逐漸擴展到平板電腦及其他領域上。
Android本身是一個許可權分立的作業系統。在這類作業系統中,每個應用都以唯一的一個系統識別身份運行(Linux用戶ID與群組ID)。系統的各部分也分別使用各自獨立的識別方式。
Linux就是這樣將應用與應用,應用與系統隔離開。
Android安全架構的核心設計思想是,在默認設置下,所有應用都沒有許可權對其他應用、系統或使用者進行較大影響的操作。這其中包括讀寫使用者隱私資料(連絡人或電子郵件),讀寫其他應用文件,訪問網路或阻止設備待機等。
安卓系統最大的優勢在於它的開放性、不受束縛性、豐富的硬體、方便開發,以及Google應用的支援等。
【安卓系統的優缺點】
android的優勢:
1、安卓最大的優點就是高度開源,所以軟體數量與ios不相上下(當然品質是沒法比的),拓展性非常高,這點是ios不能比的。可定製的深刻含義就是如果你願意,你可以把它改造成任何你想要的樣子。
2、開發容易,
幾乎沒有什麼門檻,裝一個sdk就可以寫了,寫完馬上就可以放到手機上用,開發語言使用java,程式師基礎廣泛。跨平台開發,在windows上、mac上和linux上都可以進行android開發。也許你會覺得這個並不是什麼優點,但是仔細想想,智慧手機的功能都是要靠軟體來實現的,有足夠的開發者,才有可能逐漸完善整個生態圈。wp和黑莓目前都是因為缺乏開發者,所以軟體數量一直跟不上(當然品質就更不用說了)。
android的劣勢:
1、android的缺點一方面是因為系統由各個oem廠商負責升級而產生的版本上的碎片化,另一方面由於過度自由化而產生的安全問題,很典型的就是國內山寨廠商和山寨應用而帶來的一系列的安全問題,畢竟在國內可以說是沒有正規的軟體商店的,google play國內版相對國際版就是個笑話;
2、安卓高度依賴硬體,導致要發揮安卓的性能就必須搭載很好的硬體,同時相容性也有待提高,還有很多細節上的不足比如死機重啟等情況也經常發生。這個曾是安卓被人詬病最多的問題,不過最新的安卓已經對以往的不足進行優化了。
【安卓系統刷機注意事項】
1、只要是和電腦有連接的機器就能自己刷,不論是正常使用中還是白屏中。磚塊(死機)也能通過軟體復活的,不要輕易放棄!
2、普通資料線也能刷機,只要你的資料線穩定,能保證資料的傳輸。
3、刷機時不一定要滿電,也不要只剩不足一格電量了。比如諾基亞手機通過官方升級就需要有足夠的電量保證,而通過鳳凰則一格左右也能刷。
4、刷機的時候,SIM卡和存儲卡不一定要取出。
5、不是任何手機都可以刷機的。比如說一些小品牌的機子,只能去客服和一些手機商去刷機。 (沒有取得ROOT許可權或者其他)
6、不是任何問題都可以通過刷機解決的。有些問題可能是硬體問題,所以不要太依賴刷機。
7、每種手機都有自己的刷機子方法,各種刷機方法不盡相同。所以刷機之前一定要看清教程介紹。
8、電腦作業系統最好是XP非精簡版以上,關閉一切殺毒軟體(除非你想讓手機變磚頭),網吧要求無驅動防火牆。如果你做不到這三點,那很抱歉,你的電腦不能用來刷機。
【其他手機系統介紹】
iOS是蘋果公司出的手機作業系統,僅用在蘋果自己的產品上面,沒越獄前系統比較封閉,應用軟體和游戲的數量、品質都是最高的,介面美觀,使用者體驗好。
Windows Phone是微軟公司出的手機作業系統,現在諾基亞採用此系統,三星和htc等廠商也有少量wp系統手機。WP系統有頗具特色的Metro介面,清新自然,動態磁貼功能也是僅此一家。不過應用數量少,僅能滿足基本需要。
黑莓OS僅用在黑莓手機手機上,黑莓特點在於資料安全性能好,能快速推送email,大部分機型有完整的QWERTY鍵盤,適合商務人士和需要在手機上輸入大量文字的使用者。
塞班(Symbian)系統,現在基本被放棄使用,省電性能比較好,可用來作為備機或僅電話簡訊的功能機。
那很抱歉,你的電腦不能用來刷機。
【其他手機系統介紹】
iOS是蘋果公司出的手機作業系統,僅用在蘋果自己的產品上面,沒越獄前系統比較封閉,應用軟體和游戲的數量、品質都是最高的,介面美觀,使用者體驗好。
Windows Phone是微軟公司出的手機作業系統,現在諾基亞採用此系統,三星和htc等廠商也有少量wp系統手機。WP系統有頗具特色的Metro介面,清新自然,動態磁貼功能也是僅此一家。不過應用數量少,僅能滿足基本需要。
黑莓OS僅用在黑莓手機手機上,黑莓特點在於資料安全性能好,能快速推送email,大部分機型有完整的QWERTY鍵盤,適合商務人士和需要在手機上輸入大量文字的使用者。
塞班(Symbian)系統,現在基本被放棄使用,省電性能比較好,可用來作為備機或僅電話簡訊的功能機。
F. android的系統架構_Android的系統架構中包含有哪幾層分別有什麼作用
Android的系統架構和其操作系統一樣,採用了分層的架構。從架構圖看,Android分為四個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和Linux內核層。
應用程序
Android會同一系列核心應用程序包一起發布,該應用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯系人管理程序等。所有的應用程序都是使用JAVA語言編寫的。
應用程序族滲檔框架
開發人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發布它的功能塊並且任何其它的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性)。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。
隱藏在每個應用後面的是一系列的服務和系統,其中包括;
豐富而又可擴展的視圖(Views),可以用來構建應用程序,它包括列表(Lists),網格(Grids),文本框(Textboxes),按鈕(Buttons),甚至可嵌入的web瀏覽器。
內容提供器(ContentProviders)使得應用程序可以訪問另一個應用程序的數據(如聯系人資料庫),或者共享它們自己的數據
資源管理器(ResourceManager)提供非代碼資源的訪問,如本地字元串,圖形,和布局文件(Layoutfiles)。
通知管理器(Manager)使得應用程兆亂序可以在狀態欄中顯示自定義的提示信息。
活動管理器(ActivityManager)用來管理應用程序生命周期並提供常用的導航回退功能。
系統運行庫
Android包含一些C/C庫,這些庫能被Android系統中不同喊世的組件使用。它們通過Android應用程序框架為開發者提供服務。以下是一些核心庫:
*系統C庫-一個從BSD繼承來的標准C系統函數庫Libc),它是專門為基於Embeddedlinux的設備定製的。
*媒體庫-基於PacketVideoOpenCORE;該庫支持多種常用的音頻、視頻格式回放和錄制,同時支持靜態圖像文件。編碼格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。
*SurfaceManager-對顯示子系統的管理,並且為多個應用程序提供了2D和3D圖層的無縫融合。
*LibWebCore-一個最新的web瀏覽器引擎用,支持Android瀏覽器和一個可嵌入的web視圖。