AndroidManifest.xml文件是Android系统重要的权限申请和定义配置文件,程序员在开发时需要通过其来向系统预先定义和申请应用程序运行所需要的权限。灵活、安全地使用该配置文件是Android安全保障的一个不可忽视的方面,本文对AndroidManifest文件进行详细介绍。
了解AndroidManifest.xml文件的主要用途
AndroidManifest.xml主要包含以下功能:
说明application的java 数据包,数据包名是application的唯一标识;
描述application的component;
说明application的component运行在哪个process下;
声明application所必须具备的权限,用以访问受保护的部分API,以及与其他application的交互;
声明application其他的必备权限,用以component之间的交互;
列举application运行时需要的环境配置信息,这些声明信息只在程序开发和测试时存在,发布前将被删除;
声明application所需要的AndroidAPI的最低版本级别,例如1.0,1.1,1.5等;
列举application所需要链接的库;
熟悉AndroidManifest.xml文件的结构及元素
AndroidManifest.xml文件的结构、元素,以及元素的属性,可以在AndroidSDK文档中查看详细说明。而在看这些众多的元素以及元素的属性前,需要先了解一下这些元素在命名、结构等方面的规则:
元素:在所有的元素中只有<manifest>和<application>是必需的,且只能出现一次。如果一个元素包含有其他子元素,必须通过子元素的属性来设置其值。处于同一层次的元素,这些元素的说明是没有顺序的。
属性:按照常理,所有的属性都是可选的,但是有些属性是必须设置的。那些真正可选的属性,即使不存在,其也有默认的数值项说明。除了根元素<manifest>的属性,所有其他元素属性的名字都是以android:前缀的;
定义类名:所有的元素名都对应其在SDK中的类名,如果你自己定义类名,必须包含类的数据包名,如果类与application处于同一数据包中,可以直接简写为“.”;
多数值项:如果某个元素有超过一个数值,这个元素必须通过重复的方式来说明其某个属性具有多个数值项,且不能将多个数值项一次性说明在一个属性中;
资源项说明:当需要引用某个资源时,其采用如下格式:@[package:]type:name。例如<activity android:icon=”@drawable/icon ” . . .>
字符串值:类似于其他语言,如果字符中包含有字符“\”,则必须使用转义字符“\\”;