[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
必须包含的子元素:
也许包含的子元素:
<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能移动到内部存储设备。
[android] AndroidManifest.xml -【manifest】的更多相关文章
- [android] AndroidManifest.xml - 【 manifest -> Application -> activity 】
<activity android:allowTaskReparenting=["true" | "false"] android:alwaysRetai ...
- [android] AndroidManifest.xml - 【 manifest -> 其他次要配置】
<uses-sdk> 作用:使应用程序的兼容性更好,指明应用程序需要的最小API,编译API以及最大支持的API.值都是整数 <uses-sdk android:minSdkVers ...
- [android] AndroidManifest.xml - 【 manifest -> application】
语法: <application android:allowTaskReparenting=["true" | "false"] android:back ...
- [android] AndroidManifest.xml - 【 manifest -> permission】
在 API Level 1 时被引入 语法: <permission android:description="string resource" android:icon= ...
- [android] AndroidManifest.xml【 manifest -> uses-permission】
在 API Level 1 时被引入 简介: 在某些情况下,你为app设置的权限将会影响到google应用商店会用何种规则来过滤你的APP. 如果你需要一个硬件相关的权限——CAMERA,googl ...
- [android] AndroidManifest.xml【 manifest -> permission-tree 和 manifest -> permission-group】
permission-tree 权限树 <permission-tree android:icon="drawable resource" android:label=&qu ...
- android AndroidManifest.xml 属性详细解析
一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...
- Android AndroidManifest.xml详解
AndroidManifest.xml简述: AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activitie ...
- Android CTS 测试总结【转】
Android CTS 测试总结[转] 最近一直在做Android兼容性测试,根据Android官网给出的android-cts-manual 配置好了device后,开始测试. 首先配置软件环境: ...
随机推荐
- 你们对LinearLayout线性布局中Layout_weight的误解
帮人找个入门级别的书得负责任,自己先看一下有无缺陷,结果发现这个:(原文发在该书的论坛上,发现受众面太小了,无奈转到这个弃用很久的博客里,以后把心得慢慢发上来) Google Android开发入门与 ...
- windows程序崩溃生成dump文件
第一种: 通过任务管理器:这种适用在程序挂了(crash)的时候进程还未退出,比如我运行程序,出现了下面的错: 此时打开任务管理器,右击相应进程,点击"Create Dump File“: ...
- Python 中的几种复制文件的用法
1. os.system Python code import os import tempfile filename1 = tempfile.mktemp (".txt") #产 ...
- std::nothrow
std::nothrow 1.在内存不足时,new (std::nothrow)并不抛出异常,而是将指针置NULL. 若不使用std::nothrow,则分配失败时程序直接抛出异常. 2.使用方式: ...
- ffmpeg Win8移植记(二)
接着上回说,http://www.cnblogs.com/zjjcy/p/3384517.html 上回移植了ffmpeg在ARM上面,只是纯C的代码,没有做汇编的优化.因为ffmpeg的ARM汇编是 ...
- 轻轻的我走了,正如我轻轻的来——Duilib无焦点窗体的实现
在Windows编程中,我们已经习惯了一个窗体从创建到显示并获得焦点. 我们总感觉一个窗体创建出来获得焦点是理所理所当然的.一个窗体仅仅要显示就必须获得焦点.一个新窗体显示时.会收到到WM_SETFO ...
- 搭建web项目结合spring+cxf的webservice服务
服务端: 服务端和客户端都需要引入包 antlr-2.7.7.jar aopalliance-1.0.jar asm-3.3.jar commons-collections-3.2.1.jar com ...
- string 类简介和例程
一.标准库string类型 string类型支持长度可变的字符串,C++标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作 ,在VC中直接F1查看 template < class C ...
- 【Android】15.4 例15-2--Notification基本用法
分类:C#.Android.VS2015: 创建日期:2016-02-29 一.简介 上一节介绍了通知(Notification)相关的基本内容.这一节先用一个简单示例演示创建和发布本地通知的基本用法 ...
- 在linux平台下,设置core dump文件属性(位置,大小,文件名等)
在linux平台下,设置core dump文件生成的方法: 1) 在终端中输入ulimit -c 如果结果为0,说明当程序崩溃时,系统并不能生成core dump. 2) 使用ulimit -c un ...