原文地址:Android 总结:Manifest文件中,application和activity标签属性详解
<application/>节点必须包括在<manifest/>节点中。
而<application/>节点本身还包括
<activity/>,<activity-alias/>,<service/>,
<receiver/>,<provider/>和<uses-library/>这几个节点。
<application
android:allowClearUserData = ["true" | "false"]
android:allowTaskReparenting = ["true" | "false"]
android:backupAgent = "string"
android:debuggable = ["true" | "false"]
android:description = "string resource"
android:enabled = ["true" | "false"]
android:hasCode = ["true" | "false"]
android:icon = "drawable resource"
android:killAfterRestore = ["true" | "false"]
android:label = "string resource"
android:manageSpaceActivity = "string"
android:name = "string"
android:permission = "string"
android:persistent = ["true" | "false"]
android:process = "string"
android:restoreAnyVersion = ["true" | "false"]
android:taskAffinity = "string"
android:theme = "resource or theme" >
. . .
</application>
android:allowClearUserData
是否给以用户删除用户数据的权限.
如果为true应用管理者就拥有清除数据的权限;false没有。默认为true。android:allowTaskReparenting
应用定义的activities是否可以被从启动的任务转移到和他有相同并且将被带到前台的任务。
true他们可以被转移,如果为false,他们必须和启动他们的任务保持在一起。
默认为false。android:backupAgent
实现应用的备份代理的类名,BackupAgent的子类。
这个属性的名称因该是全限定类名(如,”com.example.project.MyBackupAgent”)。
但是,如果名称的首字母被设置为点号,也可以为类名(如,”.MyBackupAgent”),
他将被追加到在< manifest />元素中定义的包名后。
没有默认值。android:debuggable
应用是否可以使用debug,甚至运行在用户模式下。
true可以,false不能。默认为false。android:description
用户可读的,比应用标签更长、更多的应用描述。
此值必须是一个引用字符串。不像标签,他不能被设置为硬编码字符串。没有默认值。android:enabled
Android系统是否可以实例化应用的组件。
如果为true可以,如果为false不可以。
如果为true,每个组件的enabled属性决定了此组件。
如果为false,他重写了组件指定值,所有的组件将不还用。
默认为true。android:hasCode
应用是否包含代码。
true表示包含,false表示不包含。
当值为false时,在启动组件是系统不会试着加载应用的任何代码。
默认为true。android:icon
整个应用的图标,还是每个组件的默认图标。
这个属性值 必须 被设置为drawable资源的引用。
没有默认值。android:killAfterRestore
在整型系统重置操作中,当他的设置被重置后,应用是否应该被终止。
单个包的重置操作不会引起应用被关闭。
整个系统的恢复操作仅代表性的发生一次,当电话第一次被设置时。
第三方应用将不会经常使用此属性。
默认值为true,意思是,当整个系统被恢复时,应用运行完他的数据后,将会终止。android:label
一个易读的应用标签,并且还是应用的每个组件的默认标签。
这个标签应该被设置为引用字符串资源,当然他也可以像其他字符串一样在用户接口中指定。
但是为了方便,在应用开发时,可以被设置未定义字符串。android:name
为这个应用实现的Application子类的全限定名称。
当应用启动时,这个类将在应用的其他组件之前被实例化。
这个子类是可选的;大多数应用不需要。
在缺省时,Android使用基本Application类的实例。android:permission
客户为了和应用交互必须设置的许可的名称。
这个属性是一个便利的途径为应用的组件设置许可。
他可以被组件的permission属性重写。android:persistent
应用是否在所有时间下都保持运行。
true是,false不是。
默认为false。
通常情况下应用不应该设置此标识。
持久模式仅仅被几个系统应用指定。android:process
为应用下的组件定一个运行进程名称。
每个组件可以定义自己的进程名称通过设置自己的process属性。
在默认情况下,Android为应用创建一个进程,当应用的第一个组件需要运行时。
所有的组件在同一个进程下运行。这个进程的名称和在< manifest />元素设置的backage属性名相同。
通过设置这个属性在可以在其他应用中共享,你可以协调应用的组件在同一个进程中运行,但是只有两应用也共享用户ID和签订相同的证书。
如果这个属性的名称一个冒号(“:”)开始,一个新的私有的进程将被创建。
如果一个进程的名称以小写字母开头,一个公共的进程将被创建。
一个公共的进程可以被其他应用共享,来减少资源的使用。android:restoreAnyVersion
表明这个应用准备尝试恢复所有的备份数据集合,甚至如果备份数据是比当前安装的应用高的编号存储的。
设置为true将允许备份管理者去尝试恢复当版本不匹配,意思是数据冲突。
要小心使用。默认为false。android:taskAffinity
提供给应用下所有组件的类同名称,除了设置了自己的taskAffinity属性的组件。
默认情况下所有的组件使用相同的affinity。
Affinity的名称和在< manifest />元素中设置的包名相同。android:theme
为应用下的组件定义一个引用自样式资源的主题。
个别的activities可以设置自己的主题,通过设置自己的theme属性。android:allowBackup
它表示是否允许应用程序参与备份。
如果将该属性设置为false,则即使备份整个系统,也不会执行这个应用程序的备份操作。
而整个系统备份能导致所有应用程序数据通过ADB来保存。
该属性必须是一个布尔值,或为true,或为false。
默认值为true。android:largeHeap
应用程序是否使用一个比较大的堆创建。
它是一个布尔值,在没有配置的情况下,它的默认值是false。android:manageSpaceActivity
一个Activity子类的全限定名称,这个Activity可以被系统启动让用户管理此应用占有的存储空间。
这个Activity也应该用< activity />元素声明。