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

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

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

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

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

当APP安装在外部存储:

  • .apk 文件 将会被安装在外部存储中, 但是应用数据(如数据库)还是存储在内部存储设备上。
  • 根据用户的需要,app能移动到内部存储设备。

[android] AndroidManifest.xml -【manifest】的更多相关文章

  1. [android] AndroidManifest.xml - 【 manifest -> Application -> activity 】

    <activity android:allowTaskReparenting=["true" | "false"] android:alwaysRetai ...

  2. [android] AndroidManifest.xml - 【 manifest -> 其他次要配置】

    <uses-sdk> 作用:使应用程序的兼容性更好,指明应用程序需要的最小API,编译API以及最大支持的API.值都是整数 <uses-sdk android:minSdkVers ...

  3. [android] AndroidManifest.xml - 【 manifest -> application】

    语法: <application android:allowTaskReparenting=["true" | "false"] android:back ...

  4. [android] AndroidManifest.xml - 【 manifest -> permission】

    在  API Level 1 时被引入 语法: <permission android:description="string resource" android:icon= ...

  5. [android] AndroidManifest.xml【 manifest -> uses-permission】

    在  API Level 1 时被引入 简介: 在某些情况下,你为app设置的权限将会影响到google应用商店会用何种规则来过滤你的APP. 如果你需要一个硬件相关的权限——CAMERA,googl ...

  6. [android] AndroidManifest.xml【 manifest -> permission-tree 和 manifest -> permission-group】

    permission-tree 权限树 <permission-tree android:icon="drawable resource" android:label=&qu ...

  7. android AndroidManifest.xml 属性详细解析

    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...

  8. Android AndroidManifest.xml详解

    AndroidManifest.xml简述: AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activitie ...

  9. Android CTS 测试总结【转】

    Android CTS 测试总结[转] 最近一直在做Android兼容性测试,根据Android官网给出的android-cts-manual 配置好了device后,开始测试. 首先配置软件环境: ...

随机推荐

  1. C#基础视频教程3.2 常见控件类型和使用方法

    这一部分我们介绍如何使用第三方的控件,我们前面一节介绍了使用微软提供的官方控件,比较中规中矩,而且也不用担心稳定性.但是很多时候我们还是会希望用第三方的控件让自己的软件更美观,更独特. 就单纯的按钮, ...

  2. Eclipse如何安装插件,查看已经安装的插件

    文件-帮助-About Eclipse,然后点击Installation Details   查看Installed Software找到已安装的插件   如果要安装新的插件,点击Help,Insta ...

  3. 使用Bundle进行VIM插件的管理

    http://www.oschina.net/p/vundle git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle ...

  4. Xcode 打包 ipa 包

    原地址:http://zengwu3915.blog.163.com/blog/static/27834897201362831449893/ 上次介绍了木有证书的打包ipa.如果安装证书后,我们还有 ...

  5. 深入探讨Linux静态库与动态库的详解(转)

    2.生成动态库并使用 linux下编译时通过 -shared 参数可以生成动态库(.so)文件,如下 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. 一.静 ...

  6. ACE-Task结构介绍(二)——消息块ACE_Message_Block结构的分析

    消息块ACE_Message_Block结构的分析 包含一个指向带引用计数功能的ACE_Data_Block对象,该对象指向正在的数据缓冲区,这样可以在ACE_Message_Block对象之间灵活. ...

  7. 从chrome商店直接下载crx文件

      从chrome商店直接下载crx文件 CreateTime--2018年5月21日17点18分 Author:Marydon 1.前提 需要知道你所下载的插件的id 查看方法: 第一步:打开扩展程 ...

  8. linux中echo的使用方法

    1.echo命令我们经常使用的选项有两个,一个是-n,表示输出之后不换行.另外一个是-e,表示对于转义字符按对应的方式处理,假设不加-e那么对于转义字符会按普通字符处理. 2.echo输出时的转义字符 ...

  9. [转载]最完整PHP.INI中文版

    [转载]最完整PHP.INI中文版 http://www.21andy.com/blog/20090718/1344.html 最完整PHP.INI中文版 适用于 php-5.2 的 php.ini ...

  10. 【转载】Redis在windows下安装过程

    一.下载windows版本的Redis 去官网找了很久,发现原来在官网上可以下载的windows版本的,现在官网以及没有下载地址,只能在github上下载,官网只提供linux版本的下载 官网下载地址 ...