Está en la página 1de 4

Android manifest

El archivo AndroidManifest.xml, es un fichero indispensable en un proyecto Android que cada


aplicación deberá contener (con ese mismo nombre) en su directorio raíz.

Este archivo mostrará información esencial acerca de la App, por lo que el sistema Android
deberá acceder a él antes de compilar cualquier línea de código del proyecto. De manera
resumida, cumple las siguientes funciones:

 Establece el nombre del package de la aplicación, para identificar de manera única a la


aplicación.
 Permite definir los componentes de la aplicación, es decir, Activities, Services, Content
Providers etc., estableciendo qué clases implementan cada componente.
 Determina que Activity será lanzada inicialmente.
 Declara el nivel mínimo de la API que Android requiere para la aplicación.
 Se declaran los permisos que necesita la aplicación para realizar determinadas tareas,
cómo el acceso a contactos del teléfono o realizar llamadas de teléfono, accediendo a
zonas restringidas de la API e interactuando con otras aplicaciones (ampliamos un
poco este punto más abajo).

A continuación, mostramos la estructura general del archivo AndroidManifest.xml, con


los elementos que puede contener. Hemos incluido un breve comentario en cada uno para dar
una primera idea de su función.

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

4 <manifest> //Elemento raíz del fichero. Debe contener un elemento <application>

6 <uses-permission /> //Permisos que debe aceptar el usuario al instalar la App

7 <permission /> //Permiso de seguridad para limitar acceso a un componente o


funcionalidad específica
8
<permission-tree /> //Nombre base para un árbol de permisos (ej:
9 com.academiaandroid.proyecto.audio)

10 <permission-group /> //Nombre para un grupo lógico de permisos afines


11 <instrumentation /> //Permite monitorizar interacciones de la App con el sistema
12 <uses-sdk /> //Compatibilidad de la App con una ó más versiones Android (nivel
13 de APIs soportadas)

14 <uses-configuration /> //HW y SW específico que necesita la App (por ejemplo, un


teclado físico)
15
<uses-feature /> //HW o SW que utiliza la App (ej: bluetooth, cámara...)
16
<supports-screens /> //Tamaños de pantallas soportadas por la App
17 <compatible-screens /> //Configuraciones de pantallas compatibles con la App

18 <supports-gl-texture /> //Formatos de compresión de textura GL soportados

19

20 <application> //Declaración de la Aplicación

21

22 <activity> //Declaración de Activity

23 <intent-filter> //Especifica tipo de Intents a los que puede responder

24 <action />

25 <category />

26 <data />

27 </intent-filter>

28 <meta-data />

29 </activity>

30

31 <activity-alias> //Alias para la Activity

32 <intent-filter> . . . </intent-filter>

33 <meta-data />

34 </activity-alias>

35

36 <service> //Declaración de Servicio

37 <intent-filter> . . . </intent-filter>

38 <meta-data/>

39 </service>

40

41 <receiver> //Declaración de Broadcast Receiver

42 <intent-filter> . . . </intent-filter>

43 <meta-data />

44 </receiver>

45

46 <provider> //Declaración de Content Provider


47 <grant-uri-permission />

48 <meta-data />

49 <path-permission />

50 </provider>

51

52 <uses-library /> //Especifica librería compartida que debe ser enlazada

53

54 </application>

</manifest>

En la siguiente lista se enumeran todos los elementos que pueden aparecer dentro de un
archivo AndroidManifest.xml. Hay que tener en cuenta que estos son los únicos permitidos y
que no podemos crear nuestros propios elementos o atributos.

<action>

<activity>

<activity-alias>

<application>

<category>

<data>

<grant-uri-permission>

<instrumentation>

<intent-filter>

<manifest>

<meta-data>

<permission>

<permission-group>

<permission-tree>

<provider>

<receiver>

<service>

<supports-screens>
<uses-configuration>

<uses-feature>

<uses-library>

<uses-permission>

<uses-sdk>

Permisos en AndroidManifest

Como comentamos al inicio, una de las funciones del archivo AndroidManifest.xml es indicar
los permisos que tiene la App. Cada aplicación que se ejecuta en Android, lo hace desde
un entorno limitado. Si desea acceder a recursos del sistema o de otra aplicación,
necesitará solicitar permisos de manera explícita, y dependiendo del tipo de permiso, el
sistema lo concederá de manera automática o solicitará al usuario la aprobación de dicha
solicitud.

Hasta la versión Android 6.0, la declaración de permisos de la App debía


hacerse previamente en el AndroidManifest.xml, antes de su instalación y ejecución en el
dispositivo. A partir de la versión Marshmallow, es posible declarar permisos de una aplicación
en tiempo de ejecución, simplificando en gran medida el proceso de instalación de la
aplicación.

En las siguientes líneas se muestra varios ejemplos de permisos que es posible declarar:

android.permission.CALL_EMERGENCY_NUMBERS

android.permission.READ_OWNER_DATA

android.permission.SET_WALLPAPER

android.permission.DEVICE_POWER

También podría gustarte