<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. minigui杂项

    官方下载地址 MiniGUI简介 http://www.minigui.com/zhcn/download/ MiniGUI3.0.12 移植到mini2440 在海思hi3520上移植minigui ...

  2. uva10401Injured Queen Problem(递推)

    题目:uva10401Injured Queen Problem(递推) 题目大意:依然是在棋盘上放皇后的问题,这些皇后是受伤的皇后,攻击范围缩小了.攻击范围在图中用阴影表示(题目).然后给出棋盘的现 ...

  3. potplayer 网页调用potplayer播放本地视频

      网页调用potplayer播放本地视频 CreateTime--2018年1月3日10:36:24 Author:Marydon 源码展示: <!DOCTYPE html> <h ...

  4. 干货首发,能够清理,带动画的自己定义控件CuteEditText

    转载请注明出处:王亟亟的大牛之路 总想创造个什么,可是又不知道要详细做什么. 那么仅仅有丛一直用的那些东西上面開始创造,哈哈.然后再摸索的过程中进步吧. 先上一下效果: 这样的带删除button的形式 ...

  5. java面试题(开发框架)

    博客分类: java基础 面试Java多线程编程设计模式          java基础面试题目,以备不时之需 俗话说 细节决定成败.      就算很简单,很小的问题,我们还是要注意一下的.     ...

  6. Inno Setup Pascal Script to search for running process

    I am currently trying to do a validation at the uninstall moment. In a Pascal script function, in In ...

  7. 如何通过numpy获得二维或多维数组的最大、小值索引

    虽然numpy数组中有argmax的函数可以获得数组的最大值的索引,但该函数获得的是numpy数组平铺后的索引,也就是一维索引.那么要怎样才能获得二维索引呢?实现很简单,比如我下面的代码: impor ...

  8. 我的Android进阶之旅------&gt;Android系统设置默认来电铃声、闹钟铃声、通知铃声

    首先了解Android系统本身提供的默认铃声文件,这些文件都放在  /system/media/audio  文件夹下. /system/media/audio/ringtones   系统来电铃声 ...

  9. SIM800L透传模式配置

    UART1_SendString("AT+CIPCLOSE=1"); //关闭连接 delay_ms(100); Second_AT_Command("AT+CIPSHU ...

  10. Json序列化之.NET开源类库Newtonsoft.Json

    上代码: using System; using System.Collections; using System.Collections.Generic; using System.IO; usin ...