AndroidManifest.xml清单文件中<manifest>和<application>元素是必需的且它们仅仅出现一次,而其他元素可能出现0或无数次.以下从几个方面来介绍<manifest>元素相关内容:
- 简介
<manifest>是AndroidManifest.xml文件的根元素.它必需包含一个<application>元素,以及指定xmls:android和package属性.
- 语法
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="string" android:sharedUserId="string" android:sharedUserLabel="string resource" android:versionCode="integer" android:versionName="string" android:installLocation=["auto" | "internalOnly" | "preferExternal"] > . . . </manifest>
- 必须包含的元素
<application>
- 可能包含的元素
<instrumentation>
<permission>
<permission-group>
<permission-tree>
<uses-configuration>
<uses-permission>
<uses-sdk>
- 属性介绍
- xmls:android
定义Android命名空间,这个属性应该设置为"http://schemas.android.com/apk/res/android
". - package
为Android应用定义一个完整的Java语言风格的包名,这个包名主要是作为Android应用程序的唯一标识符.当你已经发布你的Android应用程序之后,则不能再修改你的包名;如果改变了包名,就会导致该应用旧的版本无法更新该应用新的版本. - android:shareUserId
一个Linux用户ID可以共享其他的应用程序.默认情况下,Android会分配给每一个应用属于自己唯一的用户ID.无论如何,如果这个属性为两个或更多应用程序设置相同的值,那它们将全部共享相同的ID所提供相同的签名证书.应用程序具有相同用户ID可以访问彼此之间的数据. - android:shareUserLable
一个shareUserId中用户可读的标签.这个标签必须是来自于字符串资源文件,而不是直接添加的.设置该属性时,必须设置shareUserId属性. - android:versionCode
一个内部版本号.这个版本号只是为了确定当前版本是不是最新版本,这不是显示给用户的版本号,这个数字是versionName设置的属性.这个值必须设置为一个整数,例如100.你可以根据你的想法去设置,只要后续的版本号比前一版本号的数字大. - android:versionName
这是显示给用户的版本号.这个属性直接设置为字符串或者引用字符串资源文件,这个字符串只是为了显示给用户没有其他的目的. - android:installLocation
应用程序的默认安装位置. 以下为这个属性关键字字串符相关介绍:Value Description " internalOnly
"如果设置了该选项,则Android应用程序必须安装在设备内存中,而绝不可能安装扩展卡(SD card)中.如果内存已满,那系统将不会安装这个应用程序.如果你没有定义android:installLocation,则默认执行该选项.即系统默认将应用程序安装至内存中. " auto
"如果设置了该选项,Android应用程序可能会安装在扩展卡(SD card)中,但系统将会默认安装到内存.当系统发现内存已满,则将应用程序安装至扩展卡.安装之后,用户可以通过系统设置将应用程序在内存与扩展卡之间移动. " preferExternal
"如果设置了该选项,Android应用程序主要安装在扩展卡(SD card)上,但系统无法保证会执行这个请求.如果这个扩展卡是不可用或存储空间已满,又或者是这个应用程序使用了远程锁定机制(不支持扩展卡),则安装至内存中.安装之后,用户可以通过系统设置将应用程序在内存与扩展卡之间移动.