It contains all necessary information of app and it placed in the root directory of android app. it contains info like user permission,activity names,content providers,broadcast receivers etc.
AndroidManifest.xml file is:
1.responsible to protect the application to access any protected parts by providing the permissions.
2.also declares the android API that the application is going to use.
3.lists the instrumentation classes. The instrumentation classes provides profiling and other informations. These informations are removed just before the application is published etc.
Sample File from:
http://www.javatpoint.com/AndroidManifest-xml-file-in-android
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.queryhomeapp"
android:versionCode="1"
android:versionName="1.0" >
< user-permission/> //here we set permission for internet , use internal/external storage etc.
<uses-sdk
android:minSdkVersion="15" // it supports min sdk 15
android:targetSdkVersion="23" /> // supports upto marshmellow i.e. 6.0
<application //app details
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> //sets to launcher activity when app opens
</intent-filter>
</activity>
</application>
</manifest>