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文件所使用的命名空间。如果需要指定特殊的命名空间,就需要手动编写代码,基本格式如下:
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应用并没有设置这个属性,这就意味着它没有和别的应用程序存在共享关系,这样它们 之间就需要通过其他手段(如进程间通信)实现数据互访。
6、android:sharedUserLabel--定义用户可读标签
与android:sharedUserId属性相关的属性还有android:sharedUserLabel,这个属性给共享的用户ID定义了一个用户可读的标签。这个标签必须用字符串资源来设置,不能使用原生的字符串。这个属性在API LEVEL3中引用,只有设置了sharedUserId属性时才有意义。
7、android:installLocation--安装位置
该属性定义了应用程序默认的安装位置,共有3个可选值,其形式如下:
三、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
在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应用并没有设置这个属性,这就意味着它没有和别的应用程序存在共享关系,这样它们 之间就需要通过其他手段(如进程间通信)实现数据互访。
6、android: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
- AndroidManifest.xml清单文件详解--manifest节点
- AndroidManifest.xml清单文件详解--application节点
- AndroidManifest.xml清单文件详解--activity节点
- AndroidManifest.xml清单文件详解--action节点
- AndroidManifest.xml清单文件详解--category节点
- AndroidManifest.xml清单文件详解--data节点
- AndroidManifest.xml清单文件详解--instrumentation节点
- AndroidManifest.xml清单文件详解--permission节点
- AndroidManifest.xml清单文件详解--intent-filter节点
- AndroidManifest.xml清单文件详解--meta-data节点
- AndroidManifest.xml清单文件详解--compatible-screens节点
- AndroidManifest.xml清单文件详解--permission-group节点
- AndroidManifest.xml清单文件详解--permission-tree节点
- AndroidManifest.xml清单文件详解--supports-screens节点
- AndroidManifest.xml清单文件详解--uses-configuration节点
- AndroidManifest.xml清单文件详解--uses-feature节点
- AndroidManifest.xml清单文件详解--uses-permission节点
- AndroidManifest.xml清单文件详解--uses-sdk节点
- 自定义函数实现mb_strlen与中文 strrev转置功能
- 汇编语言学习笔记2(王爽)
- 又双叕写了一个 Host 管理插件
- 使用数据库的方式来自定义存储用户session信息
- 工厂模式
- AndroidManifest.xml清单文件详解--manifest节点
- 计算并输出下列的值
- VTK序列图像的读取
- Io
- 看到科技又获CES 2018创新大奖?快来高交会展位一探究竟
- 从form的enctype属性到Content-Type再到request.getInputStream()
- Linux最简单的firewalld防火墙操作流程
- 交通流理论1——发展阶段
- HTTP 请求头各字段含义