Android manifest文件

当Android 启动一个应用程序组件之前,它必须知道那个组件是存在的。

所以,应用程序会在一个manifest 文件中声明它的组件,这个文件会被打包到Android 包中。这个.apk 文件还将涵括应用程序的代码、文件以及其它资源。

这个manifest 文件以XML 作为结构格式,而且对于所有应用程序,都叫做AndroidManifest.xml。

为声明一个应用程序组件,它还会做很多额外工作,比如指明应用程序所需链接到的库的名称(除了默认的Android 库之外)以及声明应用程序期望获得的各种权限。

但manifest 文件的主要功能仍然是向Android 声明应用程序的组件。

举例说明,一个activity 可以如下声明:<?xml version="1.0" encoding="utf-8"?> <manifest . . . > <application . . . > <activity android:name="com.example.project.FreneticActivity" android:icon="@drawable/small_pic.png" android:label="@string/freneticLabel" . . . > </activity> . . . </application> </manifest>元素的name 属性指定了实现了这个activity 的Activity 的子类。

icon 和label 属性指向了包含展示给用户的此activity 的图标和标签的资源文件。

其它组件也以类似的方法声明── 元素用于声明服务, 元素用于声明广播接收器,而 元素用于声明内容提供者。

manifest 文件中未进行声明的activity、服务以及内容提供者将不为系统所见,从而也就不会被运行。

然而,广播接收器既可以在manifest 文件中声明,也可以在代码中进行动态的创建,并以调用Context.registerReceiver()的方式注册至系统。