Home » Android » Archivo de manifiesto en aplicaciones Android

Archivo de manifiesto en aplicaciones Android

Archivo de manifiesto (AndroidManifest.xml)

Las aplicaciones Android están compuestas de diferentes tipos de archivos y Eclipse-ADT nos da las herramientas para editar el contenido. Algunos archivos son de código Java en los que encontraremos clases y código Java y otros son recursos de tipo gráfico, cadenas, etc.

El archivo de manifiesto es el principal archivo de configuración de la aplicación Android. Al hacer doble clic en el archivo AndroidManifest.xml en el panel de la izquierda de Eclipse (Package Explorer) para que se inicie el editor del archivo (figura siguiente).

fig 01 14l

Tal como se puede observar, el editor del archivo de manifiesto tiene 5 pestañas, en cada una se pueden editar datos específicos:

  • Manifest (Manifiesto): En esta pestaña se muestran los datos de configuración general, por ejemplo, nombre del paquete e información de la versión mínima del SDK de Android requerida por la aplicación.
  • Application (Aplicación): En esta pestaña se definen detalles de la aplicación: nombre, icono, actividades que se ejecutan, filtros de intentos y las funcionalidades y servicios prestados por la aplicación.

fig 01 14m

  • Permissions (Permisos): En esta pestaña se definen las reglas de los permisos requeridos por la aplicación.
  • Instrumentation (Instrumentación): Android SDK incluye una serie de clases de instrumentación que nos asisten en las pruebas, en esta pestaña se pueden añadir o quitar estos componentes.
  • AndroidManifest.xml: En esta pestaña se puede editar manualmente el archivo cumpliendo con su formato XML.

Lo que modifiquemos en cualquiera de las primeras cuatro pestañas lo veremos reflejado en el archivo AndroidManifest.xml, que también podemos modificar de modo directo.

Es más seguro modificar el archivo de manifiesto desde las 4 primeras pestañas ya que así evitaremos los errores de sintaxis que se pueden provocar en una edición manual desde la quinta pestañas.

 

Ahora veremos qué es lo que encontramos dentro del archivo del manifiesto de la aplicación, AndroidManifest.xml. El archivo siempre comienza con la etiqueta <?xml….>:
 
<?xml version="1.0" encoding="utf-8"?>
 
Los datos del manifiesto se encierran entre etiquetas <manifest> y </manifest>. En la etiqueta <manifest> contiene atributos para asignar el nombre del paquete y el valor mínimo del SDK de Android. versionCode generalmente comienza con el valor 1 y se incrementará en 1 en cada nueva publicación de la aplicación. El sistema Android no utiliza este valor pero es importante para el desarrollador y para Android Market (ya veremos más adelante cómo se publica una aplicación y ahí se explica el uso de este dato por parte de los distribuidores de los paquetes). El valor  minSdkVersion en este caso es la versión 9 que se corresponde con la versión Android 2.3 del SDK:
<manifest 
	  xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.libroandroid.test1"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="9" />
El valor 1 de minSdkVersion se corresponde con Android 1.0 SDK y actualmente el último es el valor 13 que se corresponde con Android 3.2 del SDK . Cada vez que se publica un nuevo SDK de Android se actualiza la lista en http://developer.android.com/guide/appendix/api-levels.html.
El atributo android:icon es un icono que representa a la aplicación mediante un gráfico; el valor asignado es un recurso de tipo gráfico almacenado en la carpeta /res/drawable.
El atributo android:label es una cadena que representa el nombre de la aplicación. Este atributo se puede asignar directamente una cadena entre comillas o, tal como se muestra en este ejemplo, utilizando un recurso de cadena. Más adelante estudiaremos cómo es la nomenclatura de los recursos de la aplicación.
En este caso no se usa el atributo android:description pero podría incluirse con una cadena descriptiva de la aplicación. 

 

 <application android:icon="@drawable/icon" 
				android:label="@string/app_name"> 
Las aplicaciones Android están compuesta por una cantidad variable de actividades (puede ser 1 o más). Cada actividad debe registrarse con su nombre de clase en el archivo de manifiesto para que se pueda ejecutar en un dispositivo. Cada actividad representa una tarea y normalmente una pantalla; cada actividad, que se inicia mediante el uso de un mecanismo denominado Intent (que estudiaremos en el capítulo 3), tiene un nombre y un icono (o utiliza el que corresponde a la aplicación). 
Cada actividad se registra con la etiqueta <activity> mediante su nombre de clase, si es necesario se debe incluir el nombre del paquete.          
<activity android:name=".Test1Activity" 
                  android:label="@string/app_name">    
El filtro Intent se utiliza para indicar una actividad como punto de entrada principal de la aplicación. Para la definición de una actividad como predeterminada se utiliza como tipo de acción MAIN y LAUNCHER como categoría.
   <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

 

 

Resumiendo, en el manifiesto de la aplicación tenemos la siguiente información:
  • Nombre del paquete: com.libroandroid.test1
  • Versión de la aplicación: Identifica el número de versión de la aplicación.
  • Nombre de la versión: Identificador de tipo cadena con el número de la versión que se visualiza al usuario.
  • Icono: Archivo .png utilizado por la aplicación, almacenado en la carpeta drawable.
  • Nombre de la aplicación: Definido como recurso de cadena en strings.xml.
  • Actividad definida en la aplicación: En este caso hay sólo una actividad, Test1Activity. Dentro de esta actividad aparece un elemento <intent-filter>. 
  • El filtro action indica que esta actividad sirve como punto de entrada de la aplicación. El filtro category indica que esta aplicación se puede iniciar desde el icono Launcher del dispositivo.
  • Versión del sdk: Especifica la versión mínima requerida del sistema operativo Android para que esta aplicación se pueda ejecutar.
El atributo android:versioncode se usa para comprobar si una aplicación se puede actualizar, si contiene un valor numérico significa que es actualizable.
 

izq sup der

Deja un comentario