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

一、关于根节点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应用并没有设置这个属性,这就意味着它没有和别的应用程序存在共享关系,这样它们 之间就需要通过其他手段(如进程间通信)实现数据互访。



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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值