Stay organized with collections Save and categorize content based on your preferences.
syntaxe :
<application android:allowTaskReparenting=["true" | "false"]
             android:allowBackup=["true" | "false"]
             android:allowClearUserData=["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>
Contenu dans :
<manifest>
Peut contenir :
<activity>
<activity-alias>
<meta-data>
<service>
<receiver>
<profileable>
<provider>
<uses-library>
<uses-native-library>
Description :
Déclaration de l'application. Cet élément contient des sous-éléments qui déclarent chacun des composants de l'application, et possède des attributs pouvant affecter tous les composants. Un grand nombre de ces attributs (comme icon, label, permission, process, taskAffinity et allowTaskReparenting) définissent des valeurs par défaut pour les attributs correspondants des éléments de composant. D'autres (tels que debuggable, enabled, description et allowClearUserData) définissent des valeurs pour l'application dans son ensemble et ne peuvent pas être remplacés par les composants.
Attributs
android:allowTaskReparenting
Indique si les activités définies par l'application peuvent passer de la tâche qui les a lancées à la tâche pour laquelle elles ont une affinité lorsqu'elle sera prête ("true" est défini si les activités peuvent être transférées, tandis que "false" est défini si elles doivent rester dans la tâche dans laquelle elles ont commencé). La valeur par défaut est "false".

L'élément <activity> possède son propre attribut allowTaskReparenting qui peut remplacer la valeur définie ici. Consultez cet attribut pour en savoir plus.

android:allowBackup

Permet d'autoriser ou non l'application à participer à l'infrastructure de sauvegarde et de restauration. Si cet attribut est défini sur false, aucune sauvegarde ni restauration de l'application ne sera jamais effectuée, même par une sauvegarde complète du système qui enregistrerait normalement toutes les données de l'application via adb. La valeur par défaut de cet attribut est true.

Remarque : Si votre application s'exécute sur un appareil équipé d'Android 12 ou version ultérieure et qu'elle cible Android 12 (niveau d'API 31), ou une version ultérieure, vous ne pouvez pas désactiver la migration des fichiers de votre application d'un appareil à un autre. Dans ce cas, le système autorise automatiquement cette fonctionnalité.

Toutefois, vous pouvez toujours désactiver la sauvegarde et la restauration dans le cloud des fichiers de votre application. Pour ce faire, définissez cet attribut sur false, même si votre application cible Android 12 (niveau d'API 31) ou une version ultérieure.

Pour en savoir plus, consultez la section Sauvegarde et restauration sur la page qui décrit les changements de comportement pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure.

android:allowClearUserData

Permet d'autoriser ou non l'application à réinitialiser les données utilisateur. Ces données incluent des indicateurs (signalant, par exemple, si l'utilisateur a vu des info-bulles d'introduction), ainsi que des paramètres et des préférences personnalisables. La valeur par défaut de cet attribut est true.

Remarque : Seules les applications qui font partie de l'image système peuvent déclarer cet attribut explicitement. Les applications tierces ne peuvent pas l'inclure dans leur fichier manifeste.

Pour en savoir plus, consultez la section Restaurer des données utilisateur sur les nouveaux appareils.

android:allowNativeHeapPointerTagging

Indique si la fonctionnalité de balisage de segment de mémoire est activée dans l'application. La valeur par défaut de cet attribut est true.

Remarque : La désactivation de cette fonctionnalité ne résout pas le problème sous-jacent lié à l'état du code. Les futurs appareils ne seront peut-être plus compatibles avec ce balisage.

Pour en savoir plus, consultez la section Balisage des segments de mémoire.

android:appCategory
Déclare la catégorie de cette application. Les catégories permettent de rassembler plusieurs applications dans des groupes logiques ciblant, par exemple, l'utilisation de la batterie, du réseau ou du disque. Cette valeur ne doit être définie que si les applications appartiennent à l'une des catégories spécifiques.

Doit correspondre à l'une des valeurs constantes suivantes.

ValeurDescription
accessibilitéApplications axées sur l'accessibilité comme les lecteurs d'écran
audioApplications fonctionnant principalement avec de l'audio ou de la musique, comme les lecteurs de musique
jeuApplications qui sont principalement des jeux
imageApplications fonctionnant principalement avec des images ou des photos (applications d'appareil photo ou de galerie, par exemple)
cartesApplications qui sont principalement des applications de cartographie, telles que les applications de navigation
actualitésApplications qui se concentrent sur l'actualité, telles que les journaux, les magazines ou les revues sportives
productivitéApplications qui se concentrent sur la productivité, comme les applications de stockage dans le cloud ou d'espace de travail
réseaux sociauxApplications axées sur les réseaux sociaux, telles que les applications de chat, de communication, de messagerie ou de réseau social
vidéoApplications fonctionnant principalement avec des vidéos ou des films, telles que les applications de streaming

android:backupAgent
Nom de la classe qui implémente l'agent de sauvegarde de l'application, qui est une sous-classe de BackupAgent. La valeur de l'attribut doit être un nom de classe complet (par exemple, "com.example.project.MyBackupAgent"). Cependant, pour faire court, si le premier caractère du nom est un point (par exemple, ".MyBackupAgent"), il est ajouté au nom du package spécifié dans l'élément <manifest>.

Il n'y a pas de valeur par défaut. Vous devez renseigner le nom.

android:backupInForeground
Indique que des opérations de sauvegarde automatique peuvent être effectuées sur cette application, même si elle est dans un état équivalent à une application au premier plan. Soyez prudent lorsque vous utilisez cet attribut, car le système arrête une application pendant la sauvegarde automatique. Si cette option est définie sur "true", le comportement de l'application risque d'être affecté lorsqu'elle sera utilisée.

La valeur par défaut est false, ce qui signifie que le système d'exploitation évite de sauvegarder l'application lorsqu'elle s'exécute au premier plan (par exemple, une application musicale qui lit activement des titres via un service dont l'état indique startForeground()).

android:banner
Ressource drawable fournissant une bannière graphique étendue pour l'élément associé. Utilisez ce paramètre avec la balise <application> afin de fournir une bannière par défaut pour toutes les activités de l'application, ou avec la balise <activity> afin de fournir une bannière pour une activité spécifique.

Le système utilisera cette bannière pour représenter une application sur l'écran d'accueil d'Android TV. Étant donné qu'elle ne s'affiche que sur l'écran d'accueil, elle ne doit être spécifiée que par les applications dont l'activité gère l'intent CATEGORY_LEANBACK_LAUNCHER.

La définition de cet attribut doit renvoyer à une ressource drawable contenant l'image (par exemple, "@drawable/banner"). Il n'existe pas de bannière par défaut.

Au besoin, découvrez comment fournir une bannière sur l'écran d'accueil dans la documentation "Premiers pas avec les applications TV".

android:dataExtractionRules

Les applications peuvent définir cet attribut sur une ressource XML dans laquelle sont spécifiées les règles déterminant quels fichiers et répertoires peuvent être copiés à partir de l'appareil lors des opérations de sauvegarde ou de transfert.

Consultez le document Changements concernant la sauvegarde et la restauration pour en savoir plus sur le format de ce fichier XML.

android:debuggable
Indique si l'application peut être déboguée, même lorsqu'elle s'exécute sur un appareil en mode utilisateur. "true" est défini si tel est le cas, et "false" dans le cas contraire. La valeur par défaut est "false".
android:description
Texte plus long et plus descriptif que le libellé de l'application. Cette valeur doit être définie comme référence à une ressource de chaîne. Contrairement au libellé, il ne peut pas s'agir d'une chaîne brute. Il n'existe pas de valeur par défaut.
android:enabled
Indique si le système Android peut instancier les composants de l'application (définissez "true" true pour que le système Android puisse instancier les composants de l'application, ou "false" dans le cas contraire). Si la valeur est "true", l'attribut enabled de chaque composant détermine si ce composant est activé ou non. Si la valeur est "false", elle remplace les valeurs spécifiques au composant. Tous les composants sont désactivés.

La valeur par défaut est "true".

android:extractNativeLibs

À partir de la version 4.2.0 d'AGP, l'attribut de fichier manifeste extractNativeLibs a été remplacé par l'option DSL useLegacyPackaging. Vous devez utiliser useLegacyPackaging dans le fichier build.gradle de votre application au lieu d'extractNativeLibs dans le fichier manifeste pour configurer le comportement de compression de la bibliothèque native. Pour en savoir plus, consultez la note de version sur l'utilisation du langage DSL pour empaqueter des bibliothèques natives compressées.

Cet attribut indique si le programme d'installation du package extrait les bibliothèques natives de l'APK vers le système de fichiers. Si ce paramètre est défini sur "false", les bibliothèques natives sont stockées dans l'APK sans être compressées. Bien que l'APK puisse être volumineux, votre application devrait se charger plus rapidement, car les bibliothèques seront directement chargées à partir de ce package lors de l'exécution.

La valeur par défaut d'extractNativeLibs dépend de minSdkVersion et de la version d'AGP que vous utilisez. Dans la plupart des cas, le comportement par défaut est le comportement souhaité, et vous n'avez donc pas besoin de définir cet attribut explicitement.

android:fullBackupContent
Cet attribut renvoie vers un fichier XML contenant des règles de sauvegarde complètes pour la sauvegarde automatique. Celles-ci déterminent les fichiers à sauvegarder. Pour en savoir plus sur la sauvegarde automatique, consultez la section Syntaxe de la configuration XML.

Cet attribut est facultatif. S'il n'est pas spécifié, la sauvegarde automatique inclut par défaut la plupart des fichiers de votre application. Pour en savoir plus, consultez la section Fichiers sauvegardés.

android:fullBackupOnly
Cet attribut indique si la sauvegarde automatique doit être utilisée sur les appareils sur lesquels elle est disponible. Si ce paramètre est défini sur true, votre application effectue une sauvegarde automatique lorsqu'elle est installée sur un appareil équipé d'Android 6.0 (niveau d'API 23) ou version ultérieure. Sur les appareils plus anciens, l'application ignore cet attribut et effectue des sauvegardes clé-valeur.

La valeur par défaut est "false".

android:gwpAsanMode
Cet attribut indique si GWP-ASan doit être utilisé ou non. Il s'agit d'une fonctionnalité d'allocation de mémoire native qui contribue à détecter les bugs de type "use-after-free" et "heap-buffer-overflow".

La valeur par défaut est "never".

android:hasCode
Indique si l'application contient du code. "true" est défini si tel est le cas, et "false" dans le cas contraire. Lorsque cette valeur est "false", le système n'essaie pas de charger le code de l'application lors du lancement des composants. La valeur par défaut est "true".

Par exemple, si votre application est compatible avec Play Feature Delivery et inclut des modules de fonctionnalités qui ne génèrent aucun fichier DEX (et qui correspond à une optimisation du bytecode pour la plate-forme Android), vous devez définir cette propriété sur false dans le fichier manifeste du module. Dans le cas contraire, vous risquez d'obtenir des erreurs d'exécution.

android:hasFragileUserData
Permet d'afficher ou non une invite demandant à l'utilisateur s'il souhaite conserver les données de l'application lorsqu'il la désinstalle. La valeur par défaut est "false".
android:hardwareAccelerated
Indique si le rendu avec accélération matérielle doit être activé pour toutes les activités et les vues de cette application. "true" est défini si tel est le cas, et "false" dans le cas contraire. La valeur par défaut est "true" si vous avez défini minSdkVersion ou targetSdkVersion sur "14" ou une version ultérieure. Dans le cas contraire, elle indique "false".

À partir d'Android 3.0 (niveau d'API 11), un moteur de rendu OpenGL avec accélération matérielle est disponible pour les applications. Il permet d'améliorer les performances de nombreuses opérations graphiques 2D courantes. Lorsque le moteur de rendu avec accélération matérielle est activé, la plupart des opérations dans Canvas, Paint, Xfermode, ColorFilter, Shader et Camera sont accélérées. Cela se traduit par des animations et un défilement plus fluides, ainsi que par une meilleure réactivité globale, même pour les applications qui n'utilisent pas explicitement les bibliothèques OpenGL du framework.

Notez que les opérations OpenGL en 2D ne sont pas toutes accélérées. Si vous activez le moteur de rendu avec accélération matérielle, testez votre application pour vous assurer qu'elle peut l'utiliser sans générer d'erreurs.

Pour en savoir plus, consultez le guide sur l'accélération matérielle.

android:icon
Icône représentant l'application dans son ensemble. Il s'agit également de l'icône par défaut pour chacun des composants de l'application. Consultez les attributs icon individuels pour <activity>, <activity-alias>, <service>, <receiver> et <provider>.

La définition de cet attribut doit renvoyer à une ressource drawable contenant l'image (par exemple, "@drawable/icon"). Il n'existe pas d'icône par défaut.

android:isGame
Indique si l'application est un jeu ou non. Le système peut regrouper les applications classées en tant que jeux ou les afficher séparément des autres applications.

La valeur par défaut est false.

android:isMonitoringTool

Indique que cette application est conçue pour surveiller d'autres personnes.

Remarque : Si une application déclare cet attribut dans son fichier manifeste, le développeur doit suivre le Règlement relatif aux logiciels de traque pour publier l'application sur Google Play.

Il n'existe pas de valeur par défaut. Le développeur doit spécifier l'une des valeurs suivantes :

ValeurDescription
"parental_control"L'application est conçue pour le contrôle parental et s'adresse spécifiquement aux parents qui souhaitent protéger leurs enfants.
"enterprise_management"L'application s'adresse aux entreprises qui souhaitent gérer et suivre les appareils fournis à leurs employés.
"other"L'application est conçue pour un cas d'utilisation non spécifié dans ce tableau.
android:killAfterRestore
Indique si l'application en question doit être arrêtée après la restauration de ses paramètres lors d'une opération de restauration complète du système. Les opérations de restauration d'un seul package n'entraînent jamais l'arrêt de l'application. Les opérations de restauration complète du système ne se produisent généralement qu'une seule fois, lors de la configuration initiale du téléphone. Les applications tierces n'ont normalement pas besoin d'utiliser cet attribut.

La valeur par défaut est true, ce qui signifie qu'une fois le traitement des données terminé lors d'une restauration complète du système, l'application est arrêtée.

android:largeHeap
Indique si les processus de l'application doivent être créés avec un tas de mémoire Dalvik volumineux. Tous les processus créés pour l'application entrent en compte. Cet attribut s'applique uniquement à la première application chargée dans un processus. Si vous utilisez un ID utilisateur partagé pour permettre à plusieurs applications d'utiliser un processus, elles doivent toutes utiliser cette option de manière cohérente. Dans le cas contraire, leur résultat sera imprévisible.

La plupart des applications ne devraient pas avoir besoin de cet attribut et devraient plutôt se concentrer sur la réduction de l'utilisation globale de la mémoire pour améliorer les performances. L'activation de cette option ne garantit pas non plus une augmentation fixe de la mémoire disponible, car certains appareils sont limités par leur mémoire totale disponible.

Pour déterminer la taille de mémoire disponible au moment de l'exécution, utilisez les méthodes getMemoryClass() ou getLargeMemoryClass().

android:label
Libellé compréhensible représentant l'application dans son ensemble. Il s'agit également du libellé par défaut pour chacun des composants de l'application. Consultez les attributs label individuels pour <activity>, <activity-alias>, <service>, <receiver> et <provider>.

Le libellé doit être défini comme une référence à une ressource de chaîne, de sorte qu'il puisse être localisé comme les autres chaînes de l'interface utilisateur. Toutefois, lorsque vous développez l'application, vous pouvez également le définir comme une chaîne brute.

android:logo
Logo représentant l'application dans son ensemble. Il s'agit également du logo par défaut pour chacun des composants de l'application.

La définition de cet attribut doit renvoyer à une ressource drawable contenant l'image (par exemple, "@drawable/logo"). Il n'existe pas de logo par défaut.

android:manageSpaceActivity
Nom complet d'une sous-classe Activity que le système peut lancer pour permettre aux utilisateurs de gérer la mémoire occupée par l'application sur l'appareil. L'activité doit également être déclarée avec un élément <activity>.
android:name
Nom complet d'une sous-classe Application implémentée pour l'application. Lorsque le processus de l'application est lancé, cette classe est instanciée avant les composants de l'application elle-même.

La sous-classe est facultative. La plupart des applications n'en ont pas besoin. En l'absence d'une sous-classe, Android utilise une instance de la classe Application de base.

android:networkSecurityConfig

Spécifie le nom du fichier XML contenant la configuration de sécurité réseau de l'application. Cette valeur doit renvoyer au fichier de ressources XML qui contient la configuration.

Cet attribut a été ajouté au niveau d'API 24.

android:permission
Nom d'une autorisation dont les clients doivent disposer pour interagir avec l'application. Cet attribut est un moyen utile de définir une autorisation qui s'applique à tous les composants de l'application. Pour l'écraser, définissez les attributs permission des composants individuels.

Pour en savoir plus sur les autorisations, consultez la section Autorisations dans l'introduction et un autre document, intitulé Sécurité et autorisations.

android:persistent
Indique si l'application doit rester active en permanence. "true" est défini si tel est le cas, et "false" dans le cas contraire. La valeur par défaut est "false". Les applications ne devraient normalement pas définir cette option. Le mode de persistance n'est destiné qu'à certaines applications système.
android:process
Nom d'un processus dans lequel tous les composants de l'application doivent s'exécuter. Chaque composant peut remplacer cette valeur par défaut en définissant son propre attribut process.

Par défaut, Android crée un processus pour une application lorsque le premier de ses composants doit s'exécuter. Tous les composants s'exécutent ensuite dans ce processus. Le nom du processus par défaut correspond au nom du package défini par l'élément <manifest>.

En choisissant un nom de processus partagé avec une autre application pour cet attribut, vous pouvez faire en sorte que les composants des deux applications s'exécutent dans le même processus, mais uniquement si elles partagent également un ID utilisateur et si elles sont signées avec le même certificat.

Si le nom attribué à cet attribut commence par le signe deux-points (:), un processus réservé à l'application est créé lorsque cela est nécessaire. Si le nom du processus commence par une minuscule, un processus global portant ce nom est créé. Ce type de processus peut être partagé avec d'autres applications, ce qui réduit l'utilisation des ressources.

android:restoreAnyVersion
Indique que l'application est prête à tenter de restaurer un ensemble de données sauvegardé, même si la sauvegarde a été stockée par une version plus récente de l'application que celle actuellement installée sur l'appareil. Si cet attribut est défini sur true, le gestionnaire de sauvegarde peut tenter d'effectuer la restauration même si une non-concordance de version suggère que les données sont incompatibles. Utilisez-le avec précaution.

La valeur par défaut de cet attribut est false.

android:requestLegacyExternalStorage

Indique si l'application souhaite désactiver l'espace de stockage cloisonné.

Remarque : En fonction des changements de règles ou de compatibilité de l'application, le système peut ne pas répondre à cette demande de désactivation.

android:requiredAccountType
Spécifie le type de compte requis par l'application pour fonctionner. Si votre application nécessite un objet Account, la valeur de cet attribut doit correspondre au type d'authentificateur de compte qu'elle utilise (comme défini par AuthenticatorDescription), tel que "com.google".

La valeur par défaut est "null", ce qui indique que l'application peut fonctionner sans comptes.

Étant donné que les profils dont l'accès est limité ne peuvent pas ajouter de comptes pour le moment, la spécification de cet attribut empêche ces profil d'accéder à votre application, sauf si vous déclarez également android:restrictedAccountType avec la même valeur.

Attention : Si les données du compte sont susceptibles de révéler des informations personnelles, vous devez déclarer cet attribut et conserver la valeur "null" pour android:restrictedAccountType. De cette manière, les profils dont l'accès est limité ne pourront pas utiliser votre application pour accéder aux informations personnelles de leur propriétaire.

Cet attribut a été ajouté au niveau d'API 18.

android:resizeableActivity

Indique si l'application est compatible avec le mode multifenêtre. Vous pouvez définir cet attribut dans l'élément <activity> ou <application>.

Si vous définissez cet attribut sur "true", l'utilisateur peut lancer l'activité en mode écran partagé et en mode libre. Si vous le définissez sur "false", l'application ne peut pas être testée ni optimisée pour un environnement multifenêtre. Pour activer l'activité en mode multifenêtre, le système peut toujours appliquer le mode de compatibilité. Définir cet attribut sur "true" ne garantit pas non plus qu'aucune autre application en mode multifenêtre (telle que Picture-in-picture) n'est visible à l'écran ni sur d'autres écrans. Par conséquent, l'activation de cette option ne garantit pas que votre application dispose d'un accès exclusif aux ressources.

Si votre application cible le niveau d'API 24 ou supérieur, mais que vous ne spécifiez pas de valeur pour cet attribut, cette valeur sera définie par défaut sur "true".

Si votre application cible le niveau d'API 31 ou supérieur, cet attribut fonctionne différemment sur les petits et les grands écrans :

  • Grands écrans (SW = > 600 dp) : toutes les applications sont compatibles avec le mode multifenêtre. L'attribut indique si une application peut être redimensionnée (et non si elle est compatible avec le mode multifenêtre). Si la valeur est resizeableActivity="false", l'application passe en mode de compatibilité lorsque cela est nécessaire, conformément aux dimensions d'affichage.
  • Petits écrans (SW < 600 dp) : si resizeableActivity="true" et si la largeur et la hauteur minimales de l'activité sont conformes aux exigences du mode multifenêtre, celle-ci est compatible avec le mode multifenêtre. Si la valeur est resizeableActivity="false", l'application n'est pas compatible avec le mode multifenêtre, quelles que soient la largeur et la hauteur minimales de l'activité.

Remarque : Les fabricants d'appareils peuvent ignorer le comportement du niveau d'API 31.

Cet attribut a été ajouté au niveau d'API 24.

Remarque : La valeur de l'activité racine d'une tâche est appliquée à toutes les autres activités qui y sont lancées. Autrement dit, si l'activité racine d'une tâche peut être redimensionnée, le système considère toutes les autres activités de cette tâche comme redimensionnables. Si l'activité racine n'est pas redimensionnable, les autres activités de la tâche ne le sont pas.

android:restrictedAccountType
Spécifie le type de compte requis par cette application et indique que les profils dont l'accès est limité sont autorisés à accéder aux comptes appartenant au propriétaire. Si votre application nécessite un objet Account et que les profils dont l'accès est limité sont autorisés à accéder aux comptes de l'utilisateur principal, la valeur de cet attribut doit correspondre au type d'authentificateur de compte utilisé par votre application (comme défini par AuthenticatorDescription), tel que "com.google".

La valeur par défaut est "null", ce qui indique que l'application peut fonctionner sans comptes.

Attention : Si vous spécifiez cet attribut, les profils dont l'accès est limité peuvent utiliser votre application avec les comptes appartenant à l'utilisateur qui en est le propriétaire, ce qui peut dévoiler des informations personnelles. Si le compte est susceptible de révéler des informations personnelles, vous ne devez pas utiliser cet attribut. À la place, déclarez l'attribut android:requiredAccountType pour que les profils dont l'accès est limité ne puissent plus accéder à votre application.

Cet attribut a été ajouté au niveau d'API 18.

android:supportsRtl
Détermine si votre application est prête à accepter les mises en page qui se lisent de droite à gauche.

Si la valeur est true et que targetSdkVersion correspond à la version 17 ou plus, plusieurs API de lecture de droite à gauche seront activées et utilisées par le système afin que votre application puisse afficher les mises en page correspondantes. Si la valeur est false ou si targetSdkVersion correspond à la version 16 ou à une version inférieure, les API de lecture de droite à gauche seront ignorées ou n'auront aucun effet. Votre application se comportera donc de la même manière indépendamment de la direction de la mise en page associée aux paramètres régionaux spécifiques à l'utilisateur. Autrement dit, les mises en page se feront toujours de gauche à droite.

La valeur par défaut de cet attribut est false.

Cet attribut a été ajouté au niveau d'API 17.

android:taskAffinity
Nom d'affinité qui s'applique à toutes les activités dans l'application, sauf celles qui définissent une autre affinité avec leurs propres attributs taskAffinity. Consultez cet attribut pour en savoir plus.

Par défaut, toutes les activités d'une application partagent la même affinité. Le nom de cette affinité est identique au nom du package défini par l'élément <manifest>.

android:testOnly
Indique si cette application est utilisée uniquement à des fins de test. L'application peut, par exemple, exposer des fonctionnalités ou des données qui pourraient entraîner une faille de sécurité, mais cela est particulièrement utile pour les tests. Ce type d'APK ne peut être installé que via adb. Vous ne pouvez pas le publier sur Google Play.

Android Studio ajoute automatiquement cet attribut lorsque vous cliquez sur Exécuter .

android:theme
Renvoie à une ressource de style définissant un thème par défaut pour toutes les activités de l'application. Pour remplacer les activités individuelles par les valeurs par défaut, définissez leurs propres attributs theme. Pour en savoir plus, consultez le guide du développeur Styles et thèmes.
android:uiOptions
Options supplémentaires pour l'interface utilisateur d'une activité.

Doit correspondre à l'une des valeurs suivantes.

ValeurDescription
"none"Aucune option d'interface utilisateur supplémentaire. Il s'agit de l'option par défaut.
"splitActionBarWhenNarrow"Ajoutez une barre en bas de l'écran pour afficher les tâches dans la barre d'application (également appelée barre d'action) lorsque l'espace horizontal de l'écran est limité (par exemple, en mode portrait sur un téléphone). Au lieu d'afficher quelques-unes des tâches qui apparaissent dans la barre d'application en haut de l'écran, celle-ci est divisée en deux sections : la partie de navigation supérieure et la barre de tâches inférieure. Vous disposerez ainsi d'un espace raisonnable non seulement pour les tâches, mais aussi pour la navigation et les éléments de titre dans la partie supérieure. Les éléments de menu ne sont pas répartis entre les deux barres. Ils apparaissent toujours ensemble.

Pour en savoir plus sur la barre d'application, reportez-vous au cours Ajouter la barre d'application.

Cet attribut a été ajouté au niveau d'API 14.

android:usesCleartextTraffic
Indique si l'application prévoit d'utiliser un trafic réseau en texte clair (par exemple, HTTP en texte clair). La valeur par défaut pour les applications qui ciblent le niveau d'API 27 ou inférieur est "true". Les applications qui ciblent le niveau d'API 28 ou supérieur sont définies par défaut sur "false".

Lorsque l'attribut est défini sur "false", les composants de la plate-forme (par exemple, les piles HTTP et FTP, DownloadManager et MediaPlayer) refusent les requêtes d'utilisation du trafic en texte clair soumises par l'application. Idéalement, les bibliothèques tierces devraient également respecter ce paramètre. La raison principale pour laquelle il est recommandé d'éviter le trafic en texte clair est le manque de confidentialité, d'authenticité et de protection contre la falsification. Un pirate informatique pourrait espionner les données transmises et les modifier sans être détecté.

Cet indicateur est implémenté dans la mesure du possible, car il n'est pas réaliste d'empêcher tout trafic en texte clair provenant d'applications Android étant donné le niveau d'accès qui leur est fourni. Par exemple, l'API Socket n'est pas censée respecter cette option, car elle n'est pas en mesure de déterminer si le trafic est en texte clair. Cependant, la plupart du trafic réseau provenant des applications est géré par des piles ou des composants réseau de niveau supérieur, qui peuvent appliquer cette option en lisant ApplicationInfo.flags ou NetworkSecurityPolicy.isCleartextTrafficPermitted().

Remarque : WebView respecte cet attribut pour les applications qui ciblent le niveau d'API 26 ou supérieur.

Au cours du développement de l'application, le mode strict peut être utilisé pour identifier tout trafic en texte clair qui en découle. Pour en savoir plus, consultez StrictMode.VmPolicy.Builder.detectCleartextNetwork().

Cet attribut a été ajouté au niveau d'API 23.

Cette option est ignorée sur Android 7.0 (niveau d'API 24) ou version ultérieure si une configuration de sécurité réseau Android est présente.

android:vmSafeMode
Indique si l'application souhaite que la machine virtuelle (VM) fonctionne en mode sans échec. La valeur par défaut est "false".

Cet attribut a été ajouté au niveau d'API 8, où la valeur "true" désactive le compilateur JIT Dalvik.

Cet attribut a été adapté au niveau d'API 22, où la valeur "true" désactive le compilateur AART.

Première apparition :
Niveau API 1
Voir aussi :
<activity>
<service>
<receiver>
<provider>