應用配置檔案解析
AndroidMenifest.xml配置檔案扮演翻譯官的角色,将應用所包含的的元件、各元件的能力和配置以及應用環境介紹給Android架構層的各個服務,讓Android知道如何去排程各個元件。
AndroidMenifest.xml權限配置:
權限配置是Android安全體系的部分。在配置檔案中,應用科定義第三方通路其中的元件和資源所需要的權限。應用也可以通過配置檔案聲明其所需的權限,以通路其他應用或系統中受限制資源。權限聲明會在應用安裝時通知使用者,由使用者覺定是否安裝。
權限通過<user-permission>聲明。Android的權限配置是基于整個應用的,适用于内部各個元件。限制第三方通路時,通過<permission>配置。
定義了權限還需部署在相應元件才有效。元件管理服務在建構元件時,會校驗請求元件的權限聲明是否與該元件的權限配置比對。
權限也可以不部署元件上,在程式運作時,調用Context.checkPermission()動态校驗。
在Android權限體系中,元件使用者需要事先知道被使用元件的權限情況,單向的權責關系。
為了避免死鎖,Android開發了權限赦免機制。可以在Intent中添加标志位flag,臨時允許使用。
Android為了保護使用者不受惡意程式的侵擾,除了權限系統之外,還有:應用資料的隐私性設計(為每個應該開辟一個獨立的Linux賬号,有各自的Home目錄,不能互相讀取資料,除非擷取root權限)+應用的簽名機制(應用包名和簽名一緻時才允許被覆寫)。
環境配置<uses-sdk>聲明依賴SDK版本資訊,<user-feature>聲明應用依賴的外設、或特色功能。<user-configuration>配置使用者輸入裝置,<support-screens>聲明應用依賴的螢幕設定。
配置檔案對元件的描述資訊主要有:基本資訊描述、接口描述、運作模型描述、權限描述、中繼資料描述、可用性描述。