Android应用程序Manifest文件简介

任何一个Android项目都包含一个AndroidManifest.xml文件,它存储在项目层次中的最底层。Manifest可以定义应用程序及其组件和需求的结构和元数据。

它包含了组成应用程序的每一个Activity、Service、Content Provider和Broadcast Receiver的节点,并且使用Intent Filter和权限来确定这些组件之间以及这些组件和其它应用程序是如何交互的。

Manifest文件还可以指定应用程序的元数据(如它的图标、版本号或者主题)以及额外的顶层几点,这些节点可用来指定必须的安全权限和单元测试,以及定义硬件、屏幕和平台支持要求。

Manifest文件由一个根manifest标签构成,改标签带有一个被设为项目包的package属性。它通常包含一个xmlns:android属性来提供文件内使用的某些系统属性。

使用versionCode属性可将当前的应用程序版本定义为一个整数,每次版本迭代时候,这个数字都会增加。使用versionName可定义一个现实给用户的公共版本号
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.example.horizontalscrollmenusample"

android:versionCode="1"   //内部版本号,用于版本迭代

android:versionName="1.0" //呈现给用户的功用版本号 
        android:installLocation=["auto" | "internalOnly" | "preferExternal"] >
        [ ...   ...]

</manifest>  
internalOnly:默认值.当设置为该值时,程序只能被安装在内存中,如果内存为空,则程序将不能成功安装. 
auto:程序可能被安装在外部存储介质上(例如:SD Card),但是默认会被安装到手机内存中.当手机内存为空时,程序将被安装到外部存储介质上.当程序安装到手机上后,用户可以决定把程序放在外部储介质还是内存中.
preferExternal:将程序安装在外部存储介质上,但是系统不保证程序一定会被安装到外部存储介质上.当外部存储介质不可以或空时,程序将被安装到内存中.程序使用了forward-locking机制时也将被安装到内存中,因为外部存储不支持此机制.程序安装后,用户可以自由切换程序应该在外部还是内部存储介质上. 
注意:当程序使用了Google Play的Copy Protection特性时,只能安装到内存中.当程序被安装到外部存储介质时,① .apk文件将被移动到外部存储介质上,但是程序的数据仍然会在内存中② 保存.apk文件的容器将会使用一个随机生成的密钥进行加密,这样只有安装该程序的设置可以使用存在外部存储介质上的数据.警告:当外部存储介质被卸载时,安装在该外部存储介质上的程序将立刻被终止掉!

通过使用installLocation属性,可以指定是否允许(或者首选)将应用程序安装到外部存储器(通常指SD卡)而不是内部存储器上面。为此,可以讲起值指定为preferExternal或auto,使用前者时,只要有可能就会把应用程序安装到外部存储器上,后者则要求系统决定。
    如果不指定installLocation属性,应用程序将安转挂到内部存储器,而用户将无法把应用程序移动到外部存储器。内部存储器的容量一版是有限的,所以最好是只要有可能,就把应用程序安装到外部存储器。
    由于取出或者拒绝外部存储器存在的问题,安装到外部存储器对一些应用程序来说并不适合,这些应用程序包括: 
        1)具有Widget、Live Wallpager和Live Folder的应用程序  Widget、Live Wallpager和Live Folder将从主屏上一处,而且在
              重启前可能不在可用
        2)提供不中断服务的应用程序 应用程序和他运行的服务将被停止,并且不会自动重新启动
        3)输入法引擎(Input Method Engine: IME) 安装到外部存储器的任何IME都会被禁用。在外部存储器再次可用后,用户必须重
              新选择IME
        4)设备管理器 DeviceAdminReceiver及其管理能力将被禁用

时间: 2024-10-10 15:19:14

Android应用程序Manifest文件简介的相关文章

创建应用程序和Activity之应用程序Manifest文件简介

每个Android项目都包含一个Manifest文件(Android Manifest.xml),它存储在项目层次中的最顶层.Manifest可以定义应用程序及其组件和需求的结构和元数据.它包含了组成应用程序的每一个Activity,Service,Content Provider和Broadcast Receiver的节点,并使用Intent Filter和权限来确定这些组件之间以及这些组件和其他应用程序是如何交互的. Manifest文件还可以指定应用程序的元数据(如它的图标,版本号或者主题

Android应用程序“R文件”消失

其实Android自己维护这一个 public final class R类主要是跟新资源文件,这个R.java无需我们自己去修改,如果你不了解千万不要去修改它,它定义的每个资源值都是唯一的,不会和系统冲突.这个文件由ADT插件自动更新,当你编辑过Res文件后保存,这个类就会自动更新. R.java里面一般有attr.drawable.id.raw.layout.string以及xml等,根据你工程使用的资源而定.当R.java文件丢失时,就需要重建这个,但是可能会存在一些问题,比如资源无法自动

Manifest文件简介

每个Android项目都包含一个Manifest文件-Android Manifest.xml,它存储在项目层次中的最底层.Manifest可以定义应用程序及其组件和需求的结构和元数据. 它包含了组成应用程序的每一个Activity.Service.Content Provider和Broadcast Receiver的节点,并使用Intent Filter 和权限来确定这些组件之间以及这些组件和其他应用程序是如何交互的. Manifest文件还可以制定应用程序的元数据(如它的图标.版本号或者主

Android 的 init.rc 文件简介

init.rc由许多的Action和Service组成.每一个语句占据一行,并且各个关键字被空格分开. 由 # (前面允许有空格)开始的行都是注释行(comment) 一个actions 或 services 的开始隐含声明了一个新的段,所有commands 或 options 属于最近的声明.在第一个段之前的 commands 或 options 都会被忽略 每一个actions 和 services 都有不同的名字.后面与前面发生重名的,那么这个后面重名的将被忽略或被认为是一个错误. act

Android 学习:Manifest 文件--Android Manifest.xml

典型结构: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.sh.tian.myfirstapp" > <application android:allowBackup="true" a

Android 程序的主要组成部分 和 Manifest 文件

Android由松耦合的组件组成,并使用Manifest 绑定在一起:Manifest描述了每个组件和他们之间的交互关系,还用于应用程序的元数据.其硬件和平台的要求.外部库以及必需的权限. 以下几个组件提供了应用程序的基本结构模块: Activity : 主要用于跟用户交互,显示界面,是android程序的表示层 Service :Android的幕后工作者,不可见,不能交互,可以更新数据源和Activity,触发通知和广播Intent. Content Provider :顾名思义,内容提供者

Android资源文件简介

Android资源文件简介 1. Android应用资源的作用 (1) Android项目中文件分类 在Android工程中, 文件主要分为下面几类 : 界面布局文件, Java src源文件, 资源文件; -- 界面布局文件 : 在res/layout目录下定义, 用于定义Android中界面的显示样式; -- Java源码文件 : Android程序的逻辑实现, 程序主体; -- 资源文件 : 各种XML文件, 可以定义图片等资源, 以及各种图片, 音频, 视频, 3d模型等资源; (2)

android开发学习笔记(一)-Manifest文件

一:概述 所有的app都要在根目录下AndroidManifest.xml文件,这个文件显示了app告诉android系统的基本信息.在app代码运行之前,android系统从这个文件获取基本信息 功能: 给app的java包起名作为这个app的唯一标识符 声明app中要使用的组件 决定哪些进程持有app组件 确定app需要的用户权限 它声明应用程序必须拥有哪些权限以访问API的被保护部分以及与其它应用程序交互 它声明应用程序必须拥有哪些权限以访问API的被保护部分以及与其它应用程序交互 声明a

Android manifest文件中的标签详细介绍

概要 每一个Android应用都应该包含一个manifest文件,即AndroidManifest.xml.它包含了程序运行的一些必备信息,比如: --为Java应用程序指定一个独一无二的名字. --描述程序所包括的成分,如activities, services, broadcast receivers和content providers等内容. --定义哪一个成分是主要的.比如主线程等. --声明程序正常运行所需要的权限.比如,读写SD卡等. --声明该程序的API Level,低于该API