AndroidManifest.xml清单文件详解--manifest节点

来源:互联网 发布:服务器端口转发工具 编辑:程序博客网 时间:2024/05/01 08:10
一、关于根节点manifest
        在AndroidManifest.xml文件中,首先看到是的节点,它是整个应用程序的基本属性,涵盖了默认进程名字,应用程序标识,安装位置,对系统的要求以及应用程序的版本等。它是AndroidManifest.xml文件的根节点,其中必须包含一个节点,并且必须指定xmlns:android和package属性


二、manifest节点属性
(1)xmlns:android
(2)package
(3)android:versionCode
(4)android:versionName
(5)android:sharedUserId
(6)android:sharedUserLabel
(7)android:installLocation


1、xmlns:android属性--定义命名空间
这个属性定义了这个XML文件所使用的命名空间。如果需要指定特殊的命名空间,就需要手动编写代码,基本格式如下:

xmlns:<命名空间标识>="http://schemas.android.com/apk/res/<完整的包名>"

注意:代码中的<>部分必须填写的部分,千万不可遗漏!

我们就从万能的HelloWorld开始讲解,打开最新的android开发工具android studio,创建一个名为HelloWorld的项目,项目会自动生成AndroidManifest.xml文件,我们来看看它的结构。




2、package--应用程序的包名
package属性唯一标识了一个应用程序。注意,它是唯一的!同样,它也是应用程序进程的默认名字以及应用程序中每个Activity的默认任务(taskAffinity)。



3、android:versionCode--内部版本号
android:versionCode属性的值是一个内部版本号,用于确定这个版本是否比另一个版本更新,数字越大表明它就越新。它不是显示给用户看的版本号,而是由versionName属性设置的号码。版本号将决定一些服务的行为,比如替换应用程序时是否执行备份还原操作等。该号码必须设为整数,如100。



4、android:versionName--显示给用户的版本号
android:versionName属性的值是显示给用户的版本号,它可以被设置为一个原始字符串或者一个字符串资源的引用。这个字符串除了要显示给用户外,没有其他的目的。



5、android:sharedUserId--显示给用户的版本号
        该属性定义了需要和其他应用程序共享的Linux用户ID。默认情况下,Android系统为每一个应用程序分配一个唯一的用户ID。然而,当这个属性在多个应用程序中被设置为相同值的时候,它们将共享一个用户ID。这样做的好处是,它们之间可以相互访问彼此的数据,如有需要,它们还将在相同的进程中运行。Helloworld应用并没有设置这个属性,这就意味着它没有和别的应用程序存在共享关系,这样它们 之间就需要通过其他手段(如进程间通信)实现数据互访。



6android:sharedUserLabel--定义用户可读标签
        与android:sharedUserId属性相关的属性还有android:sharedUserLabel,这个属性给共享的用户ID定义了一个用户可读的标签。这个标签必须用字符串资源来设置,不能使用原生的字符串。这个属性在API  LEVEL3中引用,只有设置了sharedUserId属性时才有意义。



7、android:installLocation--安装位置
该属性定义了应用程序默认的安装位置,共有3个可选值,其形式如下:

android:installLocation=["auto"|"internalOnly"|"preferExternal"]

下表说明了这3个可选值的含义。

描述auto应用程序可能被安装到外部存储设备中,但默认情况下系统将会把应用程序安装到内部存储设备中。如果内存不足,那么系统将会把应用程序安装到外部存储设备中。                                      internalOnly                                              应用程序必须安装到设备的内部存储设备中。如果设置了这个值,那意味着应用程序将永远不会安装到外部存储设备中去。如果内存不足,那么系统将不会安装这个APK。在没有设置android:installLocation属性的情况下,internalOnly是该属性的默认值。preferExternal应用程序将会被安装到外部存储设备中,如果系统不支持外部存储设备或者外部设备已满,那么系统将会把这个应用程序安装到内部存储设备中。




、manifest节点包含的节点
(1)application
(2)compatible-screens
(3)instrumentation
(4)library
(5)original-package
(6)package-verifier
(7)permission
(8)permission-group
(9)permission-tree
(10)protected-broadcast
(11)supports-input
(12)supports-screens
(13)uses-configuration
(14)uses-feature
(15)uses-permission
(16)uses-sdk
















阅读全文
0 0
原创粉丝点击