[android] AndroidManifest.xml -【manifest】

<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

 

必须包含的子元素:

<application>

 

也许包含的子元素:

<instrumentation> 
<permission> 
<permission-group> 
<permission-tree> 
<uses-configuration> 
<uses-permission>

<uses-sdk>

 

简介:

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
应用的默认安装位置。以下选项允许被使用:
ValueDescription
"internalOnly" 默认值。该应用程序必须安装在内部设备存储。如果设置,则在外部存储中不安装应用程序。如果内部存储满,则系统将不安装应用程序。
"auto"


APP首先默认安装在内部存储,如果内部存储满了,系统将会安装在外部存储,一旦安装完毕,用户可以根据系统设置将app移动到外部或者内部存储之中。

"preferExternal" APP更倾向于在外部存储SD卡上安装,这不是强制的。app在外部存储不可用或者满的时候,会安装在内部存储中。一旦安装完毕,用户可以根据系统设置将app移动到外部或者内部存储之中。

 

注意:如果您的应用程序使用谷歌播放的复制保护功能,它不能被安装到设备的SD卡。然而,如果你使用谷歌播放的应用licensinginstead,您的应用程序可以安装到内部或外部存储,如SD卡。

Note: 默认的,除非你显式的指定了属性的值为 "auto" 或 "preferExternal",否则你的应用只能安装在内部存储。

当APP安装在外部存储:

  • .apk 文件 将会被安装在外部存储中, 但是应用数据(如数据库)还是存储在内部存储设备上。
  • 根据用户的需要,app能移动到内部存储设备。
posted @ 2015-07-27 15:54  Aviva_ye  阅读(223)  评论(0编辑  收藏  举报