4.3 AndroidManifest.xml文件的结构
每一个Android应用程序必须有一个AndroidManifest.xml文件(不能改成其他的文件名),而且该文件必须在应用程序的根目录中。在这个文件中定义了应用程序的基本信息,在运行Android应用程序之前必须设置这些信息。下面是AndroidManifest.xml文件在Android应用程序中所起的作用。
定义应用程序的Java包。这个包名将作为应用程序的唯一标识。在DDMS透视图的“File Explorer”视图中可以看到data/data目录中的每一个目录名都代表着一个应用程序,而目录名本身就是在AndroidManifest.xml文件中定义的包名。
上一节讲的4个应用程序组件在使用之前,必须在AndroidManifest.xml文件中定义。定义的信息主要是与组件对应的类名以及这些组件所具有的能力。通过AndroidManifest.xml文件中的配置信息可以让Android系统知道如何处理这些应用程序组件。
确定哪一个Activity将作为第一个运行的Activity。
在默认情况下,Android系统会限制使用某些API,因此,需要在AndroidManifest.xml文件中为这些API授权后才可以使用它们。
可以在AndroidManifest.xml文件中配置一些特殊的类,这些类可以在应用程序运行时提供调试及其他的信息。但这些类只在开发和测试时使用,当应用程序发布时这些配置将被删除。
定义了Android应用程序所需要的最小API级别,Android1.1对应的API级别是2,Android1.5对应的API级别是3,依此类推,最新的Android 4.1对应的API级别是16。
指定应用程序中引用的程序库。
下面是AndroidManifest.xml文件的标准格式,这个格式中的各种标签将在后面的内容中逐渐讲到。读者也可以从http://developer.android.com/guide/topics/manifest/manifest-intro.html中获取AndroidManifest.xml文件更详细的介绍。
<?xml version="1.0" encoding="utf-8"?>
<manifest>
<uses-permission />
<permission />
<permission-tree />
<permission-group />
<instrumentation />
<uses-sdk />
<uses-configuration />
<uses-feature />
<supports-screens />
<compatible-screens />
<supports-gl-texture />
<application>
<activity>
<intent-filter>
<action />
<category />
<data />
</intent-filter>
<meta-data />
</activity>
<activity-alias>
<intent-filter> . . . </intent-filter>
<meta-data />
</activity-alias>
<service>
<intent-filter> . . . </intent-filter>
<meta-data/>
</service>
<receiver>
<intent-filter> . . . </intent-filter>
<meta-data />
</receiver>
<provider>
<grant-uri-permission />
<meta-data />
</provider>
<uses-library />
</application>
</manifest>