Imprimir

El fichero AndroidManifest.xml, que debe tener cualquier aplicación Android en su carpeta principal, contiene información que debe conocer el sistema sobre la aplicación. Entre otras cosas contiene lo siguiente:

El archivo que genera de forma automática Android Studio al generar un proyecto nuevo contiene las siguientes líneas que han sido comentadas:

<?xml version="1.0" encoding="utf-8"?>

<!-- manifest: Es el elemento raíz del archivo manifest.xml. Al menos debe contener un elemento <application> y especificar los atributos xmlns:android y package -->
<!-- xmlns:android: Define el espacio de nombre de Android. Debe ser siempre el mismo -->
<!-- package: Nombre de paquete de la aplicación -->
<!-- versionCode: Número de versión interno de la aplicación. Se usa para determinar si una versión es más moderna que otra. Este número no se muestra a los usuarios -->
<!-- versionName: Número de versión que se muestra a los usuarios -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="es.javiergarbedo.holamundo"
android:versionCode="1"
android:versionName="1.0" >
<!-- uses-sdk: Define la compatibilidad de la aplicación con las versiones Android -->
<!-- minSdkVersion: Versión mínima de la API requerida para ejecutar la aplicación -->
<!-- targetSdkVersion: Versión de la API hacia la que va dirigida la aplicación. Informa que se ha probado la aplicación con esa versión sin ninguna incompatibilidad -->
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="16" />

<!-- application: Contiene subelementos que declaran los componentes de la aplicación -->
<!-- allowBackup: Permite que el sistema haga copia de seguridad de la aplicación -->
<!-- icon: Icono de la aplicación -->
<!-- label: Nombre de la aplicación -->
<!-- theme: Tema que contiene los estilos a usar por la aplicación -->
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >

<!-- activity: Declara una activity (interfaz visual del usuario) -->
<!-- name: Nombre de la clase Java que implementa la activity -->
<!-- label: Título de la activity que se mostrará al usuario -->
<activity
android:name="es.javiergarbedo.holamundo.MainActivity"
android:label="@string/app_name" >

<!-- intent-filter: Especifica qué puede hacer la activity -->
<intent-filter>

<!-- action name: Nombre de la acción a realizar con la activity -->
<!-- android.intent.action.MAIN: Permite que la activity sea ejecutada como activity principal de la aplicación -->
<action android:name="android.intent.action.MAIN" />

<!-- category: Añade un nombre de categoría a la activity -->
<!-- android.intent.category.LAUNCHER: Crea un lanzador para la activity en la lista de aplicaciones del dispositivo -->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

La estructura general de este archivo, haciendo referencia a todos los elementos que puede contener, es la siguiente:

<?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>

En la página de developer.android.com puedes encontrar más información sobre este archivo y los elementos que puede contener: http://developer.android.com/guide/topics/manifest/manifest-intro.html