<aplicación>

sintaxis:
<application android:allowTaskReparenting=["true" | "false"]
             android:allowBackup=["true" | "false"]
             android:allowClearUserData=["true" | "false"]
             android:allowCrossUidActivitySwitchFromBelow=["true" | "false"]
             android:allowNativeHeapPointerTagging=["true" | "false"]
             android:appCategory=["accessibility" | "audio" | "game" |
             "image" | "maps" | "news" | "productivity" | "social" | "video"]
             android:backupAgent="string"
             android:backupInForeground=["true" | "false"]
             android:banner="drawable resource"
             android:dataExtractionRules="string resource"
             android:debuggable=["true" | "false"]
             android:description="string resource"
             android:enabled=["true" | "false"]
             android:extractNativeLibs=["true" | "false"]
             android:fullBackupContent="string"
             android:fullBackupOnly=["true" | "false"]
             android:gwpAsanMode=["always" | "never"]
             android:hasCode=["true" | "false"]
             android:hasFragileUserData=["true" | "false"]
             android:hardwareAccelerated=["true" | "false"]
             android:icon="drawable resource"
             android:isGame=["true" | "false"]
             android:isMonitoringTool=["parental_control" | "enterprise_management" |
             "other"]
             android:killAfterRestore=["true" | "false"]
             android:largeHeap=["true" | "false"]
             android:label="string resource"
             android:logo="drawable resource"
             android:manageSpaceActivity="string"
             android:name="string"
             android:networkSecurityConfig="xml resource"
             android:permission="string"
             android:persistent=["true" | "false"]
             android:process="string"
             android:restoreAnyVersion=["true" | "false"]
             android:requestLegacyExternalStorage=["true" | "false"]
             android:requiredAccountType="string"
             android:resizeableActivity=["true" | "false"]
             android:restrictedAccountType="string"
             android:supportsRtl=["true" | "false"]
             android:taskAffinity="string"
             android:testOnly=["true" | "false"]
             android:theme="resource or theme"
             android:uiOptions=["none" | "splitActionBarWhenNarrow"]
             android:usesCleartextTraffic=["true" | "false"]
             android:vmSafeMode=["true" | "false"] >
    . . .
</application>
se incluye en:
<manifest>
puede contener:
<activity>
<activity-alias>
<meta-data>
<service>
<receiver>
<profileable>
<provider>
<uses-library>
<uses-native-library>
descripción:

Es la declaración de la aplicación. Este elemento contiene subelementos, que declaran cada uno de los componentes de la aplicación, y tiene atributos que pueden afectar a todos los componentes.

Muchos de estos atributos, como icon, label, permission y process taskAffinity y allowTaskReparenting, establecen valores predeterminados para los atributos correspondientes de los elementos componentes. Otras, como debuggable, enabled, description y allowClearUserData, establece valores para toda la aplicación y no sean anuladas por los componentes.

attributes
android:allowTaskReparenting
Determina si las actividades que la aplicación define pueden moverse de la tarea que los inició en la tarea por la que tiene afinidad cuando esa tarea pasa a primer plano. Es "true" si pueden moverse. "false" si deben permanecer con la tarea en la que comenzaron. El valor predeterminado es "false".

El elemento <activity> tiene su propio atributo allowTaskReparenting que puede anular el valor establecido aquí.

android:allowBackup

Indica si se permite que la aplicación participe en la copia de seguridad y restablecer infraestructura. Si este atributo se establece en "false", no una copia de seguridad o un restablecimiento de la aplicación, incluso por parte de copia de seguridad de todo el sistema que, de otro modo, causa que se guarden todos los datos de la aplicación usando adb. El valor predeterminado de este atributo es "true".

Nota: En el caso de las apps que se orientan a Android 12 (nivel de API 31) o versiones posteriores, este comportamiento varía. En los dispositivos de algunos fabricantes, no se puede inhabilitar la migración de un dispositivo a otro de los archivos de tu aplicación.

Sin embargo, puedes inhabilitar la copia de seguridad y restablecimiento basada en la nube de los archivos de tu app estableciendo este atributo a "false", incluso si tu app se orienta a Android 12 (nivel de API 31). mayores.

Para obtener más información, consulta la sección Copia de seguridad y restablecimiento de la página que describe los cambios de comportamiento de las apps orientadas a Android 12 (nivel de API 31) o versiones posteriores.

android:allowClearUserData

Indica si se permite que la aplicación restablezca los datos del usuario. Estos datos incluyen marcas, como si el usuario vio el cuadro de información introductoria, y las preferencias y la configuración que el usuario puede personalizar. El valor predeterminado de este atributo es "true".

Nota: Solo las apps que forman parte de la imagen del sistema pueden declarar este atributo de manera explícita. Las apps de terceros no pueden incluir esto en sus archivos de manifiesto.

Para obtener más información, consulta Descripción general de la copia de seguridad de datos.

android:allowCrossUidActivitySwitchFromBelow

Especifica si las actividades inferiores a esta en la tarea también pueden iniciar otras actividades o terminar la tarea.

A partir del nivel de SDK objetivo Build.VERSION_CODES.VANILLA_ICE_CREAM, las apps podrían bloquearse para impedir que se inicien nuevas actividades o finalicen las tareas, a menos que la actividad principal de esa tarea pertenecen al mismo UID por razones de seguridad.

Establecer esta marca en true permitirá que la app que se inicie ignore la restricción en el siguiente caso: esta actividad está en la parte superior. Las apps que coinciden con el UID de esta actividad siempre están exentas.

Para obtener más información, consulta Lanzamientos de la actividad en segundo plano segura.

android:allowNativeHeapPointerTagging

Si la app habilita la función de etiquetado del puntero del montón El valor predeterminado de este atributo es "true".

Nota: Inhabilitar esta función no soluciona los problemas problema de estado del código subyacente. Es posible que los dispositivos de hardware futuros no admitan esta etiqueta de manifiesto.

Para obtener más información, consulta Punteros etiquetados.

android:appCategory

Declara la categoría de esta app. Las categorías se usan para agrupar varias apps en clústeres en grupos significativos, como cuando resumes batería, red o el uso del disco. Define este valor únicamente para apps que se ajusten bien a uno de categorías específicas.

Debe ser uno de los siguientes valores constantes.

ValorDescripción
accessibilityAplicaciones que son principalmente aplicaciones de accesibilidad, como lectores de pantalla
audioAplicaciones que funcionan principalmente con audio o música, como reproductores de música
gameApps que son principalmente juegos
imageAplicaciones que funcionan principalmente con imágenes o fotos, como las de cámara o galería
mapsApps que son principalmente de mapas, como las de navegación
newsAplicaciones que son principalmente de noticias, como periódicos, revistas o deportes
productivityAplicaciones que son principalmente aplicaciones de productividad, como aplicaciones de almacenamiento en la nube o de trabajo.
socialAplicaciones que son principalmente aplicaciones sociales, como de mensajería, comunicación, correo electrónico o redes sociales
videoAplicaciones que funcionan principalmente con videos o películas, como las aplicaciones de video en streaming

android:backupAgent
Es el nombre de la clase que implementa el agente de copia de seguridad de la aplicación, una subclase de BackupAgent. El valor del atributo es un nombre de clase completamente calificado, como "com.example.project.MyBackupAgent" Sin embargo, como atajo, si el primer carácter del nombre es un punto, por ejemplo, ".MyBackupAgent", se agrega al elemento nombre de paquete especificado en el <manifest> .

No hay ningún valor predeterminado. El nombre debe ser específico.

android:backupInForeground
Indica que Operaciones de la Copia de seguridad automática se puede realizar en esta app incluso si es equivalente a un primer plano para cada estado. El sistema cierra una app durante la operación de copia de seguridad automática, por lo que debes usar este atributo con cuidado. Establecer esta marca en "true" puede afectar la app mientras la app está activa.

El valor predeterminado es "false", lo que significa que el SO evita crear una copia de seguridad de la app mientras se ejecuta en primer plano, como una app de música que reproduce música de forma activa a través de un servicio startForeground().

android:banner
Es un recurso de elementos de diseño que proporciona un banner gráfico extendido para su elemento asociado. Úsalo con el <application> para proporcionar un banner predeterminado a todas las actividades de la aplicación o con el <activity> etiqueta para proporcionar un banner para una actividad específica.

El sistema usa el banner para representar una app en la pantalla principal de Android TV. Por lo tanto, solo debes especificar esto para aplicaciones con una actividad que controle las CATEGORY_LEANBACK_LAUNCHER.

Este atributo se establece como referencia a un recurso de elementos de diseño que contiene la imagen, por ejemplo, "@drawable/banner". No hay ningún banner predeterminado.

Para obtener más información, consulta Proporciona un banner en la pantalla principal.

android:dataExtractionRules

Las aplicaciones pueden establecer este atributo en un recurso XML donde especifiquen la reglas que determinen qué archivos y directorios se pueden copiar del dispositivo como parte de la copia de seguridad o las operaciones de transferencia de datos.

Para obtener información sobre el formato del archivo XML, consulta Copia de seguridad y restablecimiento.

android:debuggable
Determina si la aplicación se puede depurar, incluso cuando se ejecuta. en un dispositivo en modo de usuario. Es "true" si es posible y "false" si no es así. El valor predeterminado es "false".
android:description
Es un texto legible por el usuario sobre la aplicación, que es más largo y descriptivo que la etiqueta de la aplicación. El valor se establece como referencia a un recurso de cadenas. A diferencia de la etiqueta, no puede ser una cadena sin procesar. No hay un valor predeterminado.
android:enabled
Determina si el sistema Android puede crear instancias de componentes de la aplicación. Es "true" si es posible y "false" si no es así. Si el valor es "true", la propiedad de cada componente El atributo enabled determina si ese componente está habilitado. Si el valor es "false", anula el valores específicos de componente, y todos los componentes están inhabilitados.

El valor predeterminado es "true".

android:extractNativeLibs

A partir de AGP 4.2.0, la opción DSL useLegacyPackaging reemplaza el atributo extractNativeLibs del manifiesto. Usa useLegacyPackaging en el archivo build.gradle de tu app en lugar de extractNativeLibs en el archivo de manifiesto para configurar la biblioteca nativa de compresión. Para obtener más información, consulta la nota de la versión sobre Cómo usar el DSL para empaquetar bibliotecas nativas comprimidas.

Este atributo indica si el instalador del paquete extrae bibliotecas nativas de la APK en el sistema de archivos. Si se configura en "false", tus bibliotecas nativas se almacenan sin comprimir en el APK. Si bien el APK puede ser más grande, la aplicación se carga más rápido. ya que las bibliotecas se cargan directamente desde el APK durante el tiempo de ejecución.

El valor predeterminado de extractNativeLibs depende de minSdkVersion y la versión del AGP que usas. En la mayoría de los casos, es probable que el comportamiento predeterminado sea lo que deseas y no tengas que configurar este atributo de manera explícita.

android:fullBackupContent
Este atributo apunta a un archivo XML que contiene las reglas para crear una copia de seguridad completa mediante una copia de seguridad automática. Estas reglas determinan qué archivos se respaldan. Para obtener más información, consulta la Sintaxis de la configuración XML para la Copia de seguridad automática.

Este atributo es opcional. Si no se especifica, de forma predeterminada, la copia de seguridad automática incluye la mayoría de los archivos de tu app. Para obtener más información, consulta Archivos con copia de seguridad.

android:fullBackupOnly
Este atributo indica si se debe usar Copia de seguridad automática en los dispositivos cuando están disponibles. Si se establece en "true", tu app realiza la copia de seguridad automática cuando se instala en un dispositivo que ejecuta Android 6.0 (nivel de API 23) o una versión posterior. En dispositivos más antiguos, la app ignora este atributo y realiza Copias de seguridad de clave-valor.

El valor predeterminado es "false".

android:gwpAsanMode
Este atributo indica si se debe usar GWP-ASan, una función de asignación de memoria nativa que ayuda Encuentra errores de uso después de la liberación y de desbordamiento del búfer de montón.

El valor predeterminado es "never".

android:hasCode
Determina si la aplicación contiene código DEX, es decir, código que usa el Lenguaje de programación Kotlin o Java. Es "true" si lo requiere y "false" si no lo requiere. Cuando valor es "false", el sistema no intenta cargar ninguna aplicación código cuando se inician componentes. El valor predeterminado es "true".

Si la aplicación incluye código nativo (C/C++), pero no código DEX, esto debe se debe establecer en "false". Si se configura en "true" cuando el APK no contiene código DEX, la app podría fallar.

Esta propiedad debe tener en cuenta el código incluido en la aplicación por las dependencias. Si la aplicación depende de un AAR que usa código Java/Kotlin, o directamente en un JAR, app:hasCode debe ser "true", o bien se omite, ya que es el valor predeterminado.

Por ejemplo, tu app podría admitir Reproducir la entrega de funciones e incluir que no generan archivos DEX, que es un código de bytes optimizado para la plataforma. Si es así, debes establecer esta propiedad en "false" en el manifiesto del módulo. para evitar errores en el entorno de ejecución.

android:hasFragileUserData
Determina si se le debe mostrar al usuario un mensaje a conservar los datos de la app cuando el usuario la desinstale El valor predeterminado es "false".
android:hardwareAccelerated
Si la renderización acelerada por hardware está habilitada para todos y vistas de esta aplicación. Es "true" si es habilitado y "false" si no lo está. El valor predeterminado es "true" si lo estableces minSdkVersion o targetSdkVersion a "14" o una versión posterior. De lo contrario, es "false".

A partir de Android 3.0 (nivel de API 11), se usa un procesador OpenGL acelerado por hardware que están disponibles para las aplicaciones y, así, mejorar el rendimiento de muchos gráficos 2D comunes las operaciones. Cuando se habilita el renderizador con aceleración de hardware, se acelera la mayoría de las operaciones en Canvas, Paint, Xfermode, ColorFilter, Shader y la cámara.

De esta manera, se obtienen animaciones y desplazamientos más fluidos, y una capacidad de respuesta mejorada en general, incluso para las aplicaciones que no usan explícitamente las bibliotecas OpenGL del framework.

No todas las operaciones de OpenGL 2D se aceleran. Si habilitas con aceleración de hardware, prueba tu aplicación para que pueda usar el renderizador sin errores.

Para obtener más información, lee el Aceleración de hardware .

android:icon
Un ícono para toda la aplicación y el ícono predeterminado para cada uno de los componentes de la aplicación. Ver a la persona atributos icon para el <activity>, <activity-alias>, <service>, <receiver> y <provider>.

Este atributo se establece como referencia a un recurso de elementos de diseño que contiene la imagen, como "@drawable/icon". No hay un ícono predeterminado.

android:isGame
Determina si la aplicación es un juego. El sistema podría agrupar aplicaciones clasificadas como juegos o mostrarlos separados de otras aplicaciones. El valor predeterminado es "false".
android:isMonitoringTool

Indica que esta aplicación está diseñada para supervisar a otras personas.

Nota: Si una app declara este atributo en su manifiesto, el desarrollador debe sigue el Stalkerware para publicar la app en Google Play.

No hay un valor predeterminado. El desarrollador debe especificar uno de los siguientes valores:

ValorDescripción
"parental_control"Aplicación se adapta al control parental y está específicamente dirigido a madres o padres que quieren conservar a sus hijos la seguridad de los recursos aprovisionados.
"enterprise_management"Aplicación para empresas que desean administrar y hacer un seguimiento de los dispositivos que se les proporcionan a los empleados.
"other"La aplicación se adapta a un uso caso de uso no especificado en esta tabla.
android:killAfterRestore

Si la aplicación finaliza después de su se restablecieron durante una operación de restablecimiento de todo el sistema. Las operaciones de restablecimiento de un solo paquete nunca hacen que la aplicación apagar. Por lo general, las operaciones de restablecimiento de todo el sistema solo se realizan en una ocasión, cuando se configura el teléfono por primera vez. Por lo general, las aplicaciones de terceros debes utilizar este atributo.

El valor predeterminado es "true", lo que significa que, después de que la aplicación cuando termina de procesar sus datos durante el restablecimiento de todo el sistema, este finaliza.

android:largeHeap

Establece si los procesos de la aplicación se crean con un montón de Dalvik grande o no. Esta acción se aplica a todos los procesos creados para la aplicación. Solo se aplica a la primera aplicación cargada en una el proceso de administración de recursos. Si usas un ID de usuario compartido para permitir que varias aplicaciones usen un proceso, todas debes usar esta opción de forma coherente para evitar resultados impredecibles.

La mayoría de las apps no lo necesitan y, en su lugar, se enfocan en reducir el uso de memoria general un mejor rendimiento. Habilitar esta opción tampoco garantiza un aumento fijo de la memoria disponible, porque algunos dispositivos están limitados por la memoria total disponible.

Para consultar la cantidad de memoria disponible durante el tiempo de ejecución, usa los métodos getMemoryClass() o getLargeMemoryClass().

android:label
Es una etiqueta legible por el usuario para toda la aplicación y una configuración predeterminada. etiqueta de cada componente de la aplicación. Ver a la persona atributos label para el <activity>, <activity-alias>, <service>, <receiver> y <provider>.

La etiqueta se establece como una referencia a un recurso de cadenas, de manera que pueda localizarse como otras cadenas de la interfaz de usuario. Sin embargo, para tu conveniencia durante el desarrollo de la aplicación, también se puede establecer como string sin procesar.

android:logo
Es un logotipo para toda la aplicación y el logotipo predeterminado para las actividades. Este atributo se establece como referencia a un recurso de elementos de diseño que contiene la imagen, como "@drawable/logo". No hay un logotipo predeterminado.
android:manageSpaceActivity
Es el nombre completamente calificado de una subclase Activity que el sistema para permitir a los usuarios administrar la memoria que ocupa la aplicación en el dispositivo. La actividad también se declara con un <activity>.
android:name
Es el nombre completo de una subclase Application implementado para la aplicación. Cuando se inicia el proceso de la aplicación, se crean instancias de esta clase antes que de los componentes de la aplicación.

La subclase es opcional. La mayoría de las aplicaciones no lo necesitan. A falta de una subclase, Android usa una instancia de la base Clase Application.

android:networkSecurityConfig

Especifica el nombre del archivo en formato XML que contiene el nombre de tu aplicación. Seguridad de red actual. El valor es una referencia al archivo de recursos XML que contiene la configuración.

Este atributo se agregó en el nivel de API 24.

android:permission
El nombre de un permiso que los clientes necesitan para interactuar con la aplicación. Este atributo es una manera conveniente de establecer un permiso que se aplica a todos los componentes de la aplicación. Sí se reemplaza por la configuración de los atributos permission de o los componentes de la solución.

Si deseas obtener más información sobre los permisos, consulta la sección Permisos en la descripción general del manifiesto de la app y las Sugerencias de seguridad.

android:persistent
Determina si la aplicación permanece en ejecución en todo momento. Es "true" si lo requiere y "false" si no. El valor predeterminado es "false". Por lo general, las aplicaciones no establecen esta marca. El modo de persistencia está destinado solo a ciertas aplicaciones del sistema.
android:process
Es el nombre de un proceso en el que se ejecutan todos los componentes de la aplicación. Cada componente puede anular este valor predeterminado configurando su propio atributo process.

De forma predeterminada, Android crea un proceso para una aplicación cuando el primer componente debe ejecutarse. Luego, se ejecutan todos los componentes en ese proceso. El nombre del proceso predeterminado coincide con el nombre de paquete establecido por el elemento <manifest>.

Con la configuración de este atributo en un nombre de proceso que se comparte con otro aplicación, puedes organizar los componentes de ambas aplicaciones para que se ejecuten mismo proceso, pero solo si las dos aplicaciones también comparten un ID de usuario y están firmadas con el mismo certificado.

Si el nombre asignado a este atributo comienza con dos puntos (:), se crea un nuevo de la aplicación, privada de la aplicación, se crea cuando es necesario. Si el nombre del proceso comienza con un carácter en minúscula, se crea un proceso global de ese nombre. Un proceso global puede compartirse con otras aplicaciones, lo que reduce la utilización de recursos.

android:restoreAnyVersion
Indica que la aplicación está preparada para intentar restablecer cualquier conjunto de datos de una copia de seguridad, incluso si la copia se almacenó en una versión más reciente de la aplicación que la que está instalada en el dispositivo. Parámetro de configuración este atributo a "true" permite que el administrador de copias de seguridad intentar restablecer, incluso si una versión no coincide, lo que sugiere incompatibles. Úsalo con cuidado.

El valor predeterminado de este atributo es "false".

android:requestLegacyExternalStorage

Si la aplicación desea inhabilitar almacenamiento específico.

Nota: Según los cambios relacionados con la política o la compatibilidad de la app, es posible que el sistema no cumpla con esta solicitud de inhabilitación.

android:requiredAccountType
Especifica el tipo de cuenta que requiere la aplicación para funcionar. Si tu app requiere un Account, el valor de este atributo debe corresponden al autenticador de cuenta tipo que usa tu app, según lo define AuthenticatorDescription, como "com.google".

El valor predeterminado es nulo, lo cual indica que la aplicación puede funcionar sin cuentas.

Porque los perfiles restringidos no puede agregar cuentas, pero si especificas este atributo, tu app no disponible desde un perfil restringido, a menos que también declares android:restrictedAccountType con el mismo valor.

Precaución: Si los datos de la cuenta podrían revelar información de identificación personal, es importante declaras este atributo y dejas android:restrictedAccountType nulo, de modo que los perfiles restringidos no puedan usar tu aplicación para acceder a la información personal que pertenece al usuario propietario.

Este atributo se agregó en el nivel de API 18.

android:resizeableActivity

Especifica si la app admite el modo multiventana. Puedes establecer este atributo en el elemento <activity> o en el elemento <application>.

Si estableces este atributo como "true", el usuario puede iniciar la actividad en el modo de pantalla dividida o de formato libre. Si configuras el atributo como "false", la app no se puede probar ni optimizar para un entorno multiventana. El sistema aún podría poner la actividad en modo multiventana con el modo de compatibilidad aplicado.

Establecer este atributo en "true" no garantiza que no haya otras apps en el modo multiventana visibles en la pantalla, como pantalla en pantalla, o en otras pantallas. Por lo tanto, configurar esta marca no significa que tu app tenga acceso exclusivo a recursos.

En el caso de las apps que se orientan al nivel de API 24 o superior, el valor predeterminado es "true".

Si tu app tiene como objetivo el nivel de API 31 o uno superior, este atributo funciona de manera diferente en pantallas grandes y pequeñas:

  • Pantallas grandes (ancho mínimo >= 600 dp): Todas las apps admiten el modo multiventana. El atributo indica si se puede cambiar el tamaño de una app (no si es compatible con el modo multiventana). Si resizeableActivity="false", la app se pone en modo de compatibilidad cuando es necesario para ajustarse a las dimensiones de la pantalla.
  • Pantallas pequeñas (ancho mínimo < 600 dp): si es resizeableActivity="true" y el mínimo el ancho y la altura mínima de la actividad principal cumplan con los requisitos del modo multiventana, la app admite el modo multiventana. Si es resizeableActivity="false", la app no admitir el modo multiventana, independientemente del ancho y la altura mínimos de la actividad.

Nota: Los fabricantes de dispositivos pueden anular el comportamiento del nivel de API 31.

Este atributo se agregó en el nivel de API 24.

Nota: El valor de actividad raíz de una tarea se aplica a todas las actividades adicionales iniciadas en la tarea. Es decir, si se puede modificar el tamaño de la actividad raíz de una tarea, el sistema tratará todas las demás actividades de la tarea como redimensionables. Si no se puede cambiar el tamaño de la actividad raíz, no se podrá modificar el tamaño de las otras actividades de la tarea.

android:restrictedAccountType
Especifica el tipo de cuenta que requiere esta aplicación y también indica que los perfiles restringidos pueden acceder a las cuentas que pertenecen al usuario propietario. Si tu app requiere un Account y los perfiles restringidos pueden usuario principal, el valor de este atributo debe corresponden al tipo de autenticador de cuenta que usa tu app, definido por AuthenticatorDescription, como "com.google"

El valor predeterminado es nulo, lo cual indica que la aplicación puede funcionar sin cuentas.

Precaución: Si especificas este atributo, los perfiles restringidos usen tu app con cuentas que pertenecen al usuario propietario, lo que podría revelar información de identificación información. Si la cuenta puede revelar datos personales, no lo haga usa este atributo. En su lugar, declara el atributo android:requiredAccountType. para que tu app no esté disponible para perfiles restringidos.

Este atributo se agregó en el nivel de API 18.

android:supportsRtl

Declara si tu aplicación está dispuesta a admitir diseños de derecha a izquierda (RTL).

Si se establece en "true" y targetSdkVersion se configura en 17 o una versión posterior, se pueden usar que el sistema activa y usa para que tu app pueda mostrar diseños RTL. Si se establece en "false" o si targetSdkVersion se establece en 16 o un valor inferior, se ignoran las APIs de RTL. o no tienen efecto, y tu app se comporta de la misma manera independientemente del diseño dirección asociada con la configuración regional elegida por el usuario. Es decir, tus diseños siempre son de izquierda a derecha.

El valor predeterminado de este atributo es "false".

Este atributo se agregó en el nivel de API 17.

android:taskAffinity
Es un nombre de afinidad que se aplica a todas las actividades dentro de la aplicación, salvo aquellas que establecieron una afinidad distinta con sus propios atributos taskAffinity. Consulta este atributo para obtener más información.

De forma predeterminada, todas las actividades dentro de una aplicación comparten la misma afinidad. El nombre de esta afinidad es el mismo que el nombre de paquete que estableció el elemento <manifest>.

android:testOnly
Indica si la aplicación se creó con fines de prueba únicamente. Por ejemplo: podría exponer la funcionalidad o los datos fuera de sí mismos que pueden causar pero que sea útil para hacer pruebas. Este tipo de APK solo instala a través de adb. No puedes publicarlo en Google Play.

Android Studio agrega este atributo automáticamente cuando haces clic en Run .

android:theme
Es una referencia a un recurso de estilo que define un tema predeterminado para todas las actividades de la aplicación. Las actividades individuales pueden anular el valor predeterminado si establecen sus propios atributos theme. Para obtener más información, consulta Estilos y temas.
android:uiOptions
Corresponde a opciones adicionales para la IU de una actividad. Debe ser uno de los siguientes valores:
ValorDescripción
"none"No hay opciones de IU adicionales. Es el valor predeterminado.
"splitActionBarWhenNarrow"Agrega una barra en la parte inferior de la pantalla para mostrar elementos de acción en la barra de la app (también conocida como barra de acciones) cuando se limite a un espacio horizontal, como cuando se encuentra el teléfono celular en modo Retrato. En lugar de una pequeña la cantidad de elementos de acción que aparecen en la barra de la aplicación en la parte superior de la pantalla, la barra de la aplicación se divide en la sección de navegación superior y la barra inferior para los elementos de acción. Esto significa una cantidad razonable de espacio disponible para los elementos de acción y para la navegación y el título. en la parte superior. Los elementos de menú no se dividen en las dos barras. Siempre aparecen juntos.

Para obtener más información sobre la barra de la app, consulta Cómo agregar la barra de la app.

Este atributo se agregó en el nivel de API 14.

android:usesCleartextTraffic
Indica si la app considera usar tráfico de red Cleartext, como HTTP Cleartext. El valor predeterminado para las apps que se orientan al nivel de API 27 o a una versión anterior es "true". El valor predeterminado para las apps que se orientan al nivel de API 28 o a una versión posterior es "false".

Cuando el atributo se establece en "false", los componentes de la plataforma, por ejemplo, HTTP y FTP pilas, DownloadManager y MediaPlayer, rechaza la las solicitudes de tu app para usar tráfico de texto simple.

Además, se recomienda encarecidamente aplicar esta configuración a las bibliotecas de terceros. La razón principal para evitar el tráfico de texto simple es la falta de confidencialidad, autenticidad y protecciones contra la manipulación. Un atacante en la red puede escuchar las transmisiones de datos sensibles y modificarlos sin ser detectados.

Esta marca se usa sobre la base del "mejor esfuerzo", ya que es imposible evitar todo el tráfico Cleartext de las aplicaciones para Android debido al grado de acceso que se les proporciona. Por ejemplo, hay no se espera que la API de Socket respete esta marca porque no puede determinar si el tráfico es de texto simple.

Sin embargo, la mayoría el tráfico de red de las aplicaciones se controla mediante componentes y pilas de red de nivel superior, que pueden honra esta bandera leyéndola de ApplicationInfo.flags o NetworkSecurityPolicy.isCleartextTrafficPermitted()

Nota: WebView usa este atributo para aplicaciones que se orientan al nivel de API 26 y versiones posteriores.

Durante el desarrollo de la app, StrictMode puede usarse para identificar el tráfico de texto simple desde la app. Para obtener más información, consulta StrictMode.VmPolicy.Builder.detectCleartextNetwork()

Este atributo se agregó en el nivel de API 23.

Esta marca se ignora en Android 7.0 (nivel de API 24) y versiones posteriores si hay una configuración de seguridad de red de Android presente.

android:vmSafeMode
Indica si la app quiere que funcione la máquina virtual (VM). en modo seguro. El valor predeterminado es "false".

Este atributo se agregó en el nivel de API 8, en el que un valor de "true" inhabilitó el compilador Just-in-time (JIT) de Dalvik.

Este atributo se adaptó en el nivel de API 22, en el que un valor de "true" Se inhabilitó el compilador por adelantado (AOT) de ART.

primera inclusión:
Nivel de API 1
consulta también:
<activity>
<service>
<receiver>
<provider>