AndroidManifest文件详细学习

来源:互联网 发布:linux修改字符集为gbk 编辑:程序博客网 时间:2024/05/17 04:20

1. versioncode--应用程序版本整数

2. versionName-- 显示给用户的公共版本号

3. installLocation 可选值 preferExternal 或auto

使用前者,只要有可能就会把应用程序安装到外部存储器上,后者要求系统决定。

如果不指定installLocation属性,应用程序将安装到内部存储器上,最好只要有可能就把应用程序安装到外部存储器上。

但是有的程序安装到外部存储并不合适。

4. 节点标签:

1>uses-sdk     有minSDKversion  、maxSDKversion 和 targetSDKversion属性。

minSDKversion :默认值为1 

最好不要设置maxSDKversion属性

targetSDKversion  设为最新的平台版本最好。

2>uses--configuration:可以指定应用程序支持的输入机制组合,一般不需要包含该节点。

3>uses-feature: 可以使用多个uses-feature节点来指定应用程序需要的每个硬件功能,这可以避免将应用程序安装到不包含必要的硬件功能的设备上。

为了确保兼容性,对权限的需求暗含着对响应功能的需求,例如,对wifi要求的访问权限,暗含着响应的硬件,通过添加一个required属性并把它设置为false,可以覆盖这些暗含的需求。

摄像头硬件还代表着一种特殊的情况,当出于兼容性原因要求有摄像头的使用权限时,暗含的要求就是摄像头要支持自动聚焦,在合适的地方可以把它指定为可选项。

4>supports-screens:用于指定应用程序针对哪些屏幕尺寸进行了设计和测试。从api level 4开始,每个属性的默认值都是true,所以只需要用这个节点来指定不支持的屏幕尺寸。

5>supports-gl-texture:用于声明应用程序能够提供以一种特定的gl文理压缩格式压缩的纹理资源。

6>uses-premission: 作为安全模型的一部分,声明了应用程序需要的权限,在安装程序的时候,你设定的所有权限将告诉给用户,由他们来决定同意与否。

7>permission : 可以使用该标签自定义权限。

8>instrumentation: instrumentation类提供一个测试框架。对于为自己的程序锁所创建的每一个测试类,都需要创建一个新的节点。

<instrumentation android:label ="My Test"<pre name="code" class="html">android:name=".MyTestClass"android:targetPackage="com.paad.apackage"></instrumentation>

注意:可以使用点号作为简写方式,表示将Manifest包作为前缀加到包中的类中。

9>application: 一个Manifest只能包含一个application节点。它使用各种属性来指定应用程序的元数据,在开发时,应该包含一个设置为true的debuggable属性以启用调试,但是在发布时可以禁用该属性。使用android:name属性可以指定自定义 的application类的名称。

application节点还可以作为 一个包含activity、service、contentProvider、broadcastReceiver节点的容器。

10>activity:应用程序内的每一个activity都要求有一个activity标签,并使用name属性来指定activity的名称。启动任何一个没有在清单文件中配置的activity都会抛出异常。(四大组件都必须在清单文件中配置)

每一个activity节点都可以使用intent-filter子标签来定义用于启动该activity的intent。

11>service :service 标签也支持使用intent-filter子标签来允许运行时迟绑定。

12>provider: 指定应用程序中的contentProvider

13>receiver :通过添加receiver标签,可以注册一个receiver,而不用事先启动应用程序,无论何时,如果一个匹配的intent被广播了,应用程序就会自动启动,可以使用intent-filter子标签来定义可以用来触发receiver的intent。

14>uses-library:用于指定该程序需要的共享库。

使用Manifest编辑器,可以清楚的观看应用程序的架构。








0 0
原创粉丝点击