Understanding Android Manifest File

Android Manifest file is at the heart of the (structure of) android app. If you do not pay attention to androidmanifest.xml file and its role, you will not be able to design and develop your app and further you will not be able to reuse the platform and its services.
To put it succinctly, the Android Manifest file lists out all the modules of your android application. The platform (android) regulates the life cycle of your app using intent, intent filters, activities, content providers, intent receivers, your app’s permissions and even instrumentation (enterprise enablement) for your app using the manifest file
Every Android application must have an AndroidManifest.xml file. The manifest presents essential information about the application to the Android system, information the system must have before it can run any of the application's code. Among other things, the manifest does the following:
  • It names the Java package for the application. The package name serves as a unique identifier for the application.
  • It describes the components of the application — the activities, services, broadcast receivers, and content providers that the application is composed of. It names the classes that implement each of the components and publishes their capabilities (for example, which Intent messages they can handle). These declarations let the Android system know what the components are and under what conditions they can be launched.
  • It determines which processes will host application components.
  • It declares which permissions the application must have in order to access protected parts of the API and interact with other applications.
  • It also declares the permissions that others are required to have in order to interact with the application's components.
  • It lists the Instrumentation classes that provide profiling and other information as the application is running. These declarations are present in the manifest only while the application is being developed and tested; they're removed before the application is published.
  • It declares the minimum level of the Android API that the application requires.
  • It lists the libraries that the application must be linked against.

Elements of Manifest file :

 All the elements that can appear in the manifest file are listed below . These are the  elements that you can add in manifest file ; you cannot add your own elements or attributes.
 You can add all or some of the elements depending on your requirement
See the detail description of manifest file and elements  here