Le DSL Kotlin est le langage par défaut pour la configuration de compilation
Les nouveaux projets utilisent désormais le DSL Kotlin (build.gradle.kts) par défaut pour la configuration de la compilation. Cela offre une meilleure expérience d'édition que le DSL Groovy (build.gradle) avec la mise en surbrillance de la syntaxe, la complétion du code et la navigation vers les déclarations. Notez que si vous utilisez AGP 8.1 et le DSL Kotlin pour la configuration de compilation, vous devez utiliser Gradle 8.1 pour une meilleure expérience. Pour en savoir plus, consultez le guide de migration du langage DSL Kotlin.
Prise en charge automatique des langues par application
À partir d'Android Studio Giraffe Canary 7 et d'AGP 8.1.0-alpha07, vous pouvez configurer votre application pour qu'elle prenne automatiquement en charge les préférences linguistiques par appli. En fonction des ressources de votre projet, le plug-in Android Gradle génère le fichier LocaleConfig et ajoute une référence à celui-ci dans le fichier manifeste final. Vous n'avez donc plus à le faire manuellement. Le plug-in Android Gradle utilise les ressources des dossiers res de vos modules d'application et les dépendances des modules de la bibliothèque pour déterminer les paramètres régionaux à inclure dans le fichier LocaleConfig.
Notez que la fonctionnalité de prise en charge automatique des langues par application est compatible avec les applications qui exécutent Android 13 (niveau d'API 33) ou version ultérieure. Pour utiliser cette fonctionnalité, vous devez définir compileSdkVersion sur 33 ou plus. Pour configurer les préférences linguistiques par appli pour les versions antérieures d'Android, vous devez toujours utiliser les API et les outils de sélection de langue intégrés à l'application.
Pour activer la prise en charge automatique des langues par application, spécifiez une langue par défaut:
Dans le dossier res du module d'application, créez un fichier nommé resources.properties.
Dans le fichier resources.properties, définissez les paramètres régionaux par défaut avec le libellé unqualifiedResLocale. Pour former les noms des paramètres régionaux, combinez le code de langue avec les codes de script et de région facultatifs, en les séparant par un tiret:
Langue: utilisez le code ISO 639-1 à deux ou trois lettres.
Région (facultatif): utilisez le code ISO 3166-1-alpha-2 à deux lettres ou le code UN_M.49 à trois chiffres.
Par exemple, si votre paramètre régional par défaut est l'anglais américain :
unqualifiedResLocale=en-US
AGP ajoute ces paramètres régionaux par défaut et tous les autres paramètres régionaux que vous avez spécifiés, à l'aide des répertoires values-* du dossier res, au fichier LocaleConfig généré automatiquement.
La prise en charge automatique des langues par application est désactivée par défaut. Pour activer cette fonctionnalité, utilisez le paramètre generateLocaleConfig dans le bloc androidResources {} du fichier build.gradle.kts au niveau du module (fichier build.gradle si vous utilisez Groovy):
À partir d'AGP 8.1.0-alpha04, Android Lint contient du bytecode ciblant JVM 17. Si vous écrivez des vérifications lint personnalisées, vous devez compiler avec JDK 17 ou version ultérieure et spécifier jvmTarget = '17' dans les options du compilateur Kotlin.
Le paramètre de compression des bibliothèques natives a été déplacé vers le DSL
À partir de la version AGP 8.1.0-alpha10, vous recevrez un avertissement si vous ne configurez pas la compression de la bibliothèque native à l'aide du DSL au lieu du fichier manifeste. Les conseils suivants expliquent comment mettre à jour votre configuration pour utiliser le DSL. Pour obtenir de l'aide pour effectuer ces mises à jour, utilisez l'assistant de mise à niveau AGP (Tools > AGP Upgrade Assistant).
Pour utiliser des bibliothèques natives non compressées, supprimez l'attribut android::extractNativeLibs du fichier manifeste et ajoutez le code suivant au fichier build.gradle.kts au niveau du module (fichier build.gradle si vous utilisez Groovy):
Si vous activez cette option sans spécifier de configuration de signature, AGP utilise la configuration de signature de débogage par défaut lors de l'exécution d'un build profilable ou débogable. Cet indicateur est désactivé par défaut pour encourager les auteurs de builds à déclarer des configurations de signature de profilage spécifiques.
android.experimental.library.desugarAndroidTest
AGP 8.0
false
Cet indicateur permet aux compilateurs de bibliothèques d'activer le désucrage de la bibliothèque principale pour les APK de test sans affecter l'AAR produit, par exemple via l'analyse lint.
Nous prévoyons de proposer ce comportement dans l'API Variant à terme.
Si cette option est activée, Gradle Managed Devices permet d'utiliser un type d'appareil personnalisé défini par l'utilisateur, qui peut être fourni par un plug-in. Cet indicateur doit être activé si vous souhaitez utiliser le plug-in Firebase Test Lab.
android.lint.printStackTrace
AGP 8.0
false
Si elle est activée, Android Lint imprime une trace de la pile en cas de plantage. Cette option offre les mêmes fonctionnalités que la variable d'environnement LINT_PRINT_STACKTRACE.
Indique le nombre maximal d'appareils gérés Gradle (AVD) pouvant être actifs à un moment donné. Si la valeur est égale à 0 ou négative, il n'y a pas de nombre maximal d'appareils.
Durée du délai avant expiration (en secondes) pour installer un APK. Si la valeur est égale à 0 ou négative, elle sera définie sur une valeur par défaut par l'UTP.
Impossible de désactiver le message "Gradle files have changed since last project sync" (Les fichiers Gradle ont changé depuis la dernière synchronisation du projet)
Les entrées deepLink de navigation comportant des domaines avec des caractères génériques n'ont pas d'attribut "android:host" dans le manifeste fusionné
Les entrées deepLink de navigation comportant des domaines avec des caractères génériques n'ont pas d'attribut "android:host" dans le manifeste fusionné
Bug : l'option "Enable KSP and use the KSP processor for this dependency instead" (Activer KSP et utiliser le processeur KSP pour cette dépendance à la place) redirige simplement vers un site Web
[AGP 8.1.0] Le test ./gradlew échoue avec le message "Unable to find manifest output" (Impossible de trouver la sortie du fichier manifeste) si les valeurs splits.abi.isEnable et testOptions.unitTests.isIncludeAndroidResources sont définies sur true.
[AGP 8.1.0] Le test ./gradlew échoue avec le message "Unable to find manifest output" (Impossible de trouver la sortie du fichier manifeste) si les valeurs splits.abi.isEnable et testOptions.unitTests.isIncludeAndroidResources sont définies sur true.
Ne pas exécuter de tâche dexing sur les classes de sous-projets lorsqu'elles sont déjà converties au format .dex via des transformations d'artefact
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/11/15 (UTC).
[null,null,["Dernière mise à jour le 2024/11/15 (UTC)."],[],[]]