Manifest
Each application must have an AndroidManifest.xml file (named exactly like this) in the root directory. The manifest file provides important information about the application to the Android system, information that the system must have in order to run each application code. Among other things, the manifest does the following:
1. Name the Java package for the application. The package name functions as a unique identifier for the application.
2. Describe the various components of application-activities, services, broadcast receivers, and content providers that make up the application. Name the class that implements each component and publishes its capabilities (for example, which Intent messages it can handle). This declaration tells the Android system about its components and in what conditions can be launched.
3. Determine the process that will host application components.
4. Declares which application permissions you must have to access the protected part of the API and interact with other applications.
5. Also declare other permissions that must be had to interact with application components.
6. Include a list of Instrumentation classes that provide profiles and other information when the application is running. This declaration only exists in the manifest when the application is created and tested; The declaration is deleted before the application is published.
7. Declares the minimum Android API level required by the application.
8. List the bibliography which the application must link to.
Structure
The diagram below shows the general structure of the manifest file and each element that can be contained. Each element, along with its attributes, is fully documented in a separate file. To see detailed information about each element, click the name of the element in the diagram, in the alphabetical list of elements that follow the diagrams, or the mention of other element names.
Element
Only the <manifest> and <application> elements are required, each must be present and may only occur once. Generally other elements can occur many times or absolutely not occur even though some of the elements must be present for the manifest to achieve something meaningful.
If an element contains nothing, it means that the element contains other elements. All values are set via attributes, not as character data in elements.
Elements of the same level are generally not sorted. For example, the <activity>, <provider>, and <service> elements can be mixed in any order. (The <activity-alias> element is an exception for this rule. This element must follow the alias <activity>.)
Attribute
Formally, all attributes are optional. However, there are parts that must be determined so that the element can achieve its objectives. Use documentation as a guide. For attributes that are truly optional, this either mentions the default value or states what happens if there is no specification.
In addition to some <manifest> root element attributes, all attribute names begin with the Android prefix: for example, Android: alwaysRetainTaskState. Because this prefix is universal, documentation generally removes it when referring to attributes by name.
Declaration
Many elements are related to Java objects, including the application element itself (<application> element) and its main component activities (<activity>), service (<service>), broadcast receiver (<receiver>), and content provider (<provider> ).
If defining subclasses, as you always define for component classes (Activity, Service, BroadcastReceiver, and ContentProvider), subclasses are declared via the name attribute. The name must include the full package destination. For example, the Service subclass might be declared as follows:
However, as shorthand, if the first character of the string is a dot, the string will be added to the application package name (as specified in the <manifest> element via the package attribute). The following designations are the same as above:
When starting a component, Android will create a subclass named named. If no subclass is specified, a base class instance will be created.
Multiple View
If more than one value can be set, this element is almost always repeated, not displaying a list of many values in one element. For example, the intent filter can include several actions:
Resource
Resource values use the following format:
String
When the attribute value is a string, two left slashes ('\\') must be used to leave the character, for example '\\ n' for new lines or '\\ uxxxx' for Unicode characters.