<manifest>
原文链接:http://www.android-doc.com/guide/topics/manifest/manifest-element.html
最早引入的API:API Level 8
元素结构:
<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>
包含于:
none
必须包含的子元素:
也许包含的子元素:
<instrumentation>
<permission>
<permission-group>
<permission-tree>
<uses-configuration>
<uses-permission>
简介:
The root element of the AndroidManifest.xml file. It must contain an <application>
element and specify xmlns:android
and package
attributes.
AndroidManifest.xml文件的根元素,必须包含一个application节点和 xmlns:android
以及 package 属性
属性:
xmlns:android
- 定义Android的命名空间。其值总是为: "
http://schemas.android.com/apk/res/android
". package
- 为APP应用指定的java语法规范的包名。其值必须是唯一的。
-
为了避免和其他的开发者的包名称冲突,最好是使用自己拥有的网站域名作为基础的包名.【com.etenginfo】
千万不要使用com.examples!
包名作为应用的唯一标识符,也同时作为应用进程的默认名称,也是activity的相对路径名称
特别注意:一旦发布APP之后,你就不能修改应用的package名字了。因为package名字代表了你的应用的标识。因此如果你改变这个值,应用程序将会作为一个新的应用程序发布,而且用户也将不能从一个旧版本更新到一个新版本。
android:sharedUserId
与其他的应用程序共享的linux user ID的名字。
默认的,android分配给app一个唯一的user ID。然而,若是有一个以上的应用使用了同一个user ID作为 android:sharedUserId 的值,这多个应用将会分享这个ID值,他们也将会使用相同的证书来生成签名。这些APP能够访问彼此的数据,而且如果有必要,将会在同一个进程中运行。 android:sharedUserLabel
-
共享User ID的用户可读标签。该标签必须设置为一个字符串资源的引用,不能直接定义为一个原始字符串。
仅当sharedUserId属性也没设置时才有意义。 android:versionCode
- 内部版本号。此数字用于确定一个版本是否比应一个版本更新,更高的数字代表更新的版本。这个版本号不是显示给用户的,是根据bersionName属性设置的。其值必须是一个整数。你可以定义任何你想定义的数字,只要每一个连续的版本有一个更高的数字。例如:他可以是一个编译的数字,或者简单的每次发布新版本时将其加一。
android:versionName
- 显示给用户看的版本号,这个属性可以是原始字符串或者一个字符串资源的引用。除了显示给用户看之外并没有其他用途。
android:installLocation
- 应用的默认安装位置。以下选项允许被使用:
-
Value Description " internalOnly
"默认值。该应用程序必须安装在内部设备存储。如果设置,则在外部存储中不安装应用程序。如果内部存储满,则系统将不安装应用程序。 " auto
"APP首先默认安装在内部存储,如果内部存储满了,系统将会安装在外部存储,一旦安装完毕,用户可以根据系统设置将app移动到外部或者内部存储之中。
" preferExternal
"APP更倾向于在外部存储SD卡上安装,这不是强制的。app在外部存储不可用或者满的时候,会安装在内部存储中。一旦安装完毕,用户可以根据系统设置将app移动到外部或者内部存储之中。 注意:如果您的应用程序使用谷歌播放的复制保护功能,它不能被安装到设备的SD卡。然而,如果你使用谷歌播放的应用licensinginstead,您的应用程序可以安装到内部或外部存储,如SD卡。
Note: 默认的,除非你显式的指定了属性的值为 "
auto
" 或 "preferExternal
",否则你的应用只能安装在内部存储。当APP安装在外部存储:
-
.apk
文件 将会被安装在外部存储中, 但是应用数据(如数据库)还是存储在内部存储设备上。 - 根据用户的需要,app能移动到内部存储设备。
-