Android重新學習之旅——可執行文件

        Android是以Java語言開發,Android SDK編譯工具將Android代碼與其相關數據、資源一起打包,編譯成一個後綴爲apk的壓縮文件,這個文件就是運行在Android上的可執行文件。一旦安裝成功這個文件將在Android系統中創建一個安全沙盒用於運行程序。

        Android是一個多用戶的Linux操作系統,其中每一個應用都是一個獨立用戶。每一個應用都有一個ID,ID與應用程序一般一一對應,但是應用程序的ID相對於應用程序本身是透明的,不可見的,只有系統應用可以對其進行處理。系統會爲每一個應用軟件中的文件設置訪問限制,只有分配給應用程序的ID進程才擁有文件的訪問權。每一應用都有其主機虛擬機(VM)因此應用程序間彼此互不干擾,相對獨立的運行。默認情況下,每一應用程序都在自己的進程運行,只有應用程序任何一個組件被調用時纔會開啓進程,當應用程序中沒有任何一個組件被調用或者系統需要爲其他應用程序回收應用程序的內存空間時會結束應用進程。這就是Andorid的"最少特權原則",基於該原則默認情況下,應用程序只能訪問他所需要的工作組件。這個Android就構建了一個相對安全的系統環境,沒有被賦予權限的系統部分可以不被其他應用訪問。

        儘管基於安全考慮,應該讓兩個應用程序儘可能的對立,但是實際情況下,有些場景中應用程序間需要共享數據,有些應用也需要調用系統服務。這一般有兩種實現方式,1.爲不同應用程序分配同一ID2.應用程序可以通過請求權限來訪問設備數據。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章