Le plug-in Android Gradle 8.1.0 est une version majeure qui comprend plusieurs nouvelles fonctionnalités et améliorations.
Compatibilité
Version minimale | Version par défaut | Notes | |
---|---|---|---|
Gradle | 8.0 | 8.0 | Pour en savoir plus, consultez Mettre à jour Gradle. |
Build Tools SDK | 33.0.1 | 33.0.1 | Installez ou configurez des Build Tools SDK. |
NDK | N/A | 25.1.8937393 | Installez ou configurez une autre version du NDK. |
JDK | 17 | 17 | Pour en savoir plus, consultez Définir la version du JDK. |
Le DSL Kotlin est utilisé par défaut pour la configuration de compilation
Les nouveaux projets utilisent désormais le langage DSL Kotlin (build.gradle.kts
) par défaut pour la configuration de compilation. Cela offre une meilleure expérience d'édition que le DSL Groovy (build.gradle
) avec mise en surbrillance de la syntaxe, saisie automatique du code et navigation vers les déclarations. Notez que si vous utilisez AGP 8.1 et le DSL Kotlin pour configurer la compilation, vous devez utiliser Gradle 8.1 pour une expérience optimale. Pour en savoir plus, consultez le guide de migration du 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. L'AGP utilise les ressources des dossiers res
de vos modules d'application et toutes 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 des paramètres régionaux 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.
- Script (facultatif): utilisez le code ISO 15924.
- 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):
Kotlin
android { androidResources { generateLocaleConfig = true } }
Groovy
android { androidResources { generateLocaleConfig true } }
Android Lint contient un bytecode ciblant la JVM 17
À partir de la version 8.1.0-alpha04 d'AGP, Android Lint contient le bytecode ciblant la 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.
Pour en savoir plus sur l'outil lint, consultez Améliorer votre code avec des vérifications lint.
Paramètre de compression de la bibliothèque native déplacé vers le DSL
À partir de la version 8.1.0-alpha10 d'AGP, vous recevrez un avertissement si vous ne configurez pas la compression de bibliothèque native à l'aide du DSL au lieu du fichier manifeste. Les instructions suivantes expliquent comment mettre à jour votre configuration pour utiliser le DSL. Pour obtenir de l'aide concernant 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):
Kotlin
android { packagingOptions { jniLibs { useLegacyPackaging = false } } }
Groovy
android { packagingOptions { jniLibs { useLegacyPackaging false } } }
Indicateurs de compilation expérimentaux
Il s'agit d'indicateurs expérimentaux pour la configuration de votre build disponible dans AGP 8.1.
Signaler | Ajouté dans | Valeur par défaut | Notes |
---|---|---|---|
android.experimental.useDefaultDebugSigningConfigForProfileableBuildtypes |
AGP 8.0 | false |
Si vous activez cette option sans configuration de signature spécifiée, AGP utilisera la configuration de signature de débogage par défaut lors de l'exécution d'une compilation profilable ou débogable. Cette option est désactivée par défaut pour encourager les auteurs de compilations à 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 produite, par exemple via le linting. À terme, nous prévoyons de prendre en charge ce comportement dans l'API Variant. |
android.experimental.testOptions.managedDevices.customDevice |
AGP 8.0 | false |
Si cette option est activée, les appareils gérés par Gradle autorise un type d'appareil personnalisé défini par l'utilisateur qui peut être fourni par un plug-in. Cette option doit être activée si vous souhaitez utiliser le plug-in Firebase Test Lab. |
android.lint.printStackTrace |
AGP 8.0 | false |
Si cette option est activée, Android Lint imprime une trace de la pile en cas de plantage. Cette option a les mêmes capacités que la variable d'environnement LINT_PRINT_STACKTRACE . |
android.experimental.testOptions.managedDevices.maxConcurrentDevices |
AGP 8.0 | Aucune | Spécifie le nombre maximal d'appareils gérés par Gradle (AVD) simultanés qui doivent être actifs à un moment donné. Si la valeur est nulle ou négative, le nombre d'appareils n'est pas limité. |
android.experimental.testOptions.installApkTimeout |
AGP 8.0 | Aucune | Délai avant expiration, en secondes, pour installer un APK. Si cette valeur est négative ou égale à 0, elle est définie sur une valeur par défaut par UTP. |