Every application must have an AndroidManifest.xml file and the file must have exactly that name. Its location is in its root directory, and, in each module, it contains essential information about your application to the Android system. The manifest file is responsible for defining the following:
- Naming a package for the application
- Describing the components of the application--activities (screens), services, broadcast receivers (messages), and content providers (database access)
- Permissions that application must have in order to access protected parts of the Android API
- Permissions that other applications must have in order to interact with the application's components, such as content providers
The following code snippet shows the general structure of the manifest file and elements that it can contain:
<?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 /> <path-permission /> </provider> <uses-library /> </application> </manifest>