- 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
etallowTaskReparenting
définissent des valeurs par défaut pour les attributs correspondants des éléments de composant. D'autres, tels quedebuggable
,enabled
,description
etallowClearUserData
, définissent des valeurs pour l'application dans son ensemble et ne sont pas 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 attributallowTaskReparenting
qui peut remplacer la valeur définie ici. 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 enregistre normalement toutes les données de l'application viaadb
. La valeur par défaut de cet attribut est"true"
.Remarque : Pour les applications ciblant Android 12 (niveau d'API 31) ou version ultérieure, ce comportement varie. Sur les appareils de certains fabricants, vous ne pouvez pas désactiver la migration des fichiers de votre application d'un appareil à un autre.
Toutefois, vous pouvez 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 Présentation de la sauvegarde de données.
android:allowNativeHeapPointerTagging
Indique si la fonctionnalité de balisage du pointeur de tas 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 pas compatibles avec ce balisage.
Pour en savoir plus, consultez la section Balisage des pointeurs.
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. Ne définissez cette valeur que pour les applications qui appartiennent à l'une des catégories spécifiques.
Doit correspondre à l'une des valeurs constantes suivantes.
Valeur Description accessibility
Applications axées sur l'accessibilité comme les lecteurs d'écran audio
Applications fonctionnant principalement avec de l'audio ou de la musique, comme les lecteurs de musique game
Applications qui sont principalement des jeux image
Applications fonctionnant principalement avec des images ou des photos (applications d'appareil photo ou de galerie, par exemple) maps
Applications qui sont principalement des applications de cartographie, telles que les applications de navigation news
Applications qui se concentrent sur l'actualité, telles que les journaux, les magazines ou les revues sportives productivity
Applications qui se concentrent sur la productivité, comme les applications de stockage dans le cloud ou d'espace de travail social
Applications axées sur les réseaux sociaux, telles que les applications de chat, de communication, de messagerie ou de réseau social video
Applications 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 est un nom de classe complet, tel que"com.example.project.MyBackupAgent"
. Cependant, pour faire court, si le premier caractère du nom est un point (".MyBackupAgent"
, par exemple), il est ajouté au nom du package spécifié dans l'élément<manifest>
.Il n'y a pas de valeur par défaut. Le nom doit être spécifique.
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 indiquestartForeground()
). 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. Par conséquent, ne le spécifiez que pour les applications ayant une activité qui gère l'intent
CATEGORY_LEANBACK_LAUNCHER
.Cet attribut est défini comme référence à une ressource drawable contenant l'image, par exemple
"@drawable/banner"
. Il n'existe pas de bannière par défaut.Pour en savoir plus, consultez la section Fournir une bannière sur l'écran d'accueil.
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.
Pour en savoir plus sur le format du fichier XML, consultez la section Sauvegarde et restauration.
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"
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 est 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.
"true"
si tel est le cas, et"false"
dans le cas contraire. Si la valeur est"true"
, l'attributenabled
de chaque composant détermine si ce composant est activé. 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
- 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 se charge plus rapidement, car les bibliothèques se chargent directement à partir de l'APK au moment de l'exécution.La valeur par défaut d'
extractNativeLibs
dépend deminSdkVersion
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, consultez la section Syntaxe de la configuration XML pour la sauvegarde automatique.
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é. Il s'agit d'une fonctionnalité d'allocation de mémoire native qui permet de 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 DEX, c'est-à-dire du code utilisant le langage de programmation Kotlin ou Java.
"true"
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"
.Si l'application inclut du code natif (C/C++), mais pas de code DEX, la valeur doit être définie sur
"false"
. Si elle est définie sur"true"
lorsque l'APK ne contient pas de code DEX, le chargement de l'application peut échouer.Cette propriété doit tenir compte du code inclus dans l'application par les dépendances. Si l'application dépend d'un fichier AAR qui utilise du code Java/Kotlin, ou directement d'un fichier JAR,
app:hasCode
doit être défini sur"true"
ou omis, car il s'agit de la valeur par défaut.Par exemple, votre application peut prendre en charge Play Feature Delivery et inclure des modules de fonctionnalités qui ne génèrent aucun fichier DEX, ce qui correspond à une optimisation du bytecode pour la plate-forme Android. Si tel est le cas, vous devez définir cette propriété sur
"false"
dans le fichier manifeste du module pour éviter les erreurs d'exécution. android:hasFragileUserData
- Indique si l'utilisateur est invité à 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 est activé pour toutes les activités et les vues de cette application.
"true"
si tel est le cas, et"false"
dans le cas contraire. La valeur par défaut est"true"
si vous définissezminSdkVersion
outargetSdkVersion
sur"14"
ou plus. Sinon, la valeur est"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.
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>
.Cet attribut est défini comme référence à 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. Le système peut regrouper les applications classées comme 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 :
Valeur Description "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 s'arrête 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 que l'application est arrêtée une fois que le traitement des données est terminé lors d'une restauration complète du système. android:largeHeap
- Indique si les processus de l'application sont créés avec un tas de mémoire Dalvik volumineux. Tous les processus créés pour l'application entrent en compte. Il ne s'applique qu'à la première application chargée dans un processus. Si vous optez pour un ID utilisateur partagé pour permettre à plusieurs applications d'utiliser un processus, elles doivent toutes avoir recours à cette option de manière cohérente afin d'éviter des résultats imprévisibles.
La plupart des applications n'en ont pas besoin et se concentrent plutôt 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()
ougetLargeMemoryClass()
. 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é est 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.
Cet attribut est défini comme référence à 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
lancée par le système pour permettre aux utilisateurs de gérer la mémoire occupée par l'application sur l'appareil. L'activité est également 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 est une référence au fichier de ressources XML contenant la configuration.
Cet attribut a été ajouté au niveau d'API 24.
android:permission
- Nom d'une autorisation dont les clients ont besoin 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 la présentation du fichier manifeste d'application et les conseils de sécurité.
android:persistent
- Indique si l'application reste active en permanence.
"true"
si tel est le cas, et"false"
dans le cas contraire. La valeur par défaut est"false"
. Les applications ne définissent normalement pas cet indicateur. 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 définissant cet attribut sur un nom de processus partagé avec une autre application, 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 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. Définir cet attribut sur
"true"
permet au gestionnaire de sauvegarde d'effectuer une restauration même lorsqu'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 élément
Account
, la valeur de cet attribut doit correspondre au type d'authentificateur de compte qu'elle utilise, tel que défini parAuthenticatorDescription
(par exemple,"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 Format 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 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, cela ne signifie pas que votre application dispose d'un accès exclusif aux ressources.Pour les applications ciblant le niveau d'API 24 ou supérieur, la valeur par défaut est
"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é si 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 cette valeur indiqueresizeableActivity="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.
- 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
android:restrictedAccountType
- Spécifie le type de compte requis par cette application et indique que les profils dont l'accès est limité peuvent 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é peuvent 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 parAuthenticatorDescription
(par exemple,"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 au propriétaire, ce qui peut entraîner l'affichage d'informations personnelles. Si le compte est susceptible de révéler des informations personnelles, n'utilisez pas cet attribut. Déclarez plutôt l'attribut
android:requiredAccountType
pour que les profils dont l'accès est limité ne puissent pas 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 quetargetSdkVersion
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 sitargetSdkVersion
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 peuvent 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 Run (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 la section Styles et thèmes. android:uiOptions
- Options supplémentaires pour l'interface utilisateur d'une activité. Doit correspondre à l'une des valeurs suivantes :
Valeur Description "none"
Aucune option d'interface utilisateur supplémentaire. Il s'agit de l'option par défaut. "splitActionBarWhenNarrow"
Ajoute 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, consultez 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
etMediaPlayer
) 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 et des composants réseau de niveau supérieur, qui peuvent appliquer cette option en lisant
ApplicationInfo.flags
ouNetworkSecurityPolicy.isCleartextTrafficPermitted()
.Remarque :
WebView
respecte cet attribut pour les applications qui ciblent le niveau d'API 26 ou supérieur.Lors 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.
À partir de la version 4.2.0 d'AGP, l'option DSL
useLegacyPackaging
remplace l'attribut manifesteextractNativeLibs
. UtilisezuseLegacyPackaging
dans le fichierbuild.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.- Première apparition :
- Niveau d'API 1
- Voir aussi :
<activity>
<service>
<receiver>
<provider>
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/04/19 (UTC).
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Il n'y a pas l'information dont j'ai besoin"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Trop compliqué/Trop d'étapes"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Obsolète"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problème de traduction"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Mauvais exemple/Erreur de code"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Autre"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Facile à comprendre"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"J'ai pu résoudre mon problème"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Autre"
}]
{
"last_modified": "Dernière mise à jour le 2024/04/19 (UTC).",
"state": ""
}