J'ai mis à jour vers AndroidStudio 3.3 qui donne maintenant un avertissement sur les bibliothèques obsolètes:
AVERTISSEMENT: l'API 'variant.getExternalNativeBuildTasks ()' est obsolète et a été remplacée par 'variant.getExternalNativeBuildProviders ()'. Il sera supprimé à la fin de 2019. Pour plus d'informations, voir https://d.Android.com/r/tools/task-configuration-avoidance . Pour déterminer ce qui appelle variant.getExternalNativeBuildTasks (), utilisez -Pandroid.debug.obsoleteApi = true sur la ligne de commande pour afficher une trace de pile. Modules concernés: application
Il y a plus d'informations sur leur site Web:
mais je ne le comprends pas exactement. Ils disent:
Pour voir les informations supplémentaires, vous devez inclure les éléments suivants dans le fichier gradle.properties de votre projet:
Android.debug.obsoleteApi = true
J'ai donc pris le build.gradle qui est marqué avec (Projet: [mon projet])
Le document ressemble à ceci:
buildscript {
ext.kotlin_version = '1.3.10'
repositories {
jcenter()
maven {
url 'https://maven.google.com/'
name 'Google'
}
google()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.3.0'
classpath 'com.google.gms:google-services:4.0.1'
classpath 'com.github.triplet.gradle:play-publisher:1.1.5'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
jcenter()
maven {
url "https://jitpack.io"
}
mavenCentral()
}
}
project.ext.preDexLibs = !project.hasProperty('disablePreDex')
subprojects {
project.plugins.whenPluginAdded { plugin ->
if ("com.Android.build.gradle.AppPlugin" == plugin.class.name) {
project.Android.dexOptions.preDexLibraries = rootProject.ext.preDexLibs
} else if ("com.Android.build.gradle.LibraryPlugin" == plugin.class.name) {
project.Android.dexOptions.preDexLibraries = rootProject.ext.preDexLibs
}
}
}
repositories {
mavenCentral()
}
Cependant, je ne comprends pas où je dois ajouter cette ligne maintenant. Et peu importe où je le mets, je reçois toujours une erreur.
Par exemple. lors de l'écriture directement dans la première ligne:
Impossible d'obtenir la propriété inconnue 'Android' pour le projet racine [mon projet] de type org.gradle.api.Project.
Alors, où est-ce censé être ajouté? Ou est-ce que je mélange les définitions de "Projet" et "application" pour les fichiers Gradle?
Vous devez le mettre dans gradle.properties
fichier présent au niveau du projet, en dehors du dossier de l'application pas dans build.gradle
fichier que vous essayez actuellement de faire.
Depuis la documentation du développeur Android
Meilleures informations de débogage lors de l'utilisation d'une API obsolète: lorsque le plugin détecte que vous utilisez une API qui n'est plus prise en charge, il peut désormais fournir des informations plus détaillées pour vous aider à déterminer où cette API est utilisée. Pour voir les informations supplémentaires, , vous devez inclure les éléments suivants dans le fichier gradle.properties de votre projet :
Android.debug.obsoleteApi = true
Vous pouvez également activer l'indicateur en passant -Pandroid.debug.obsoleteApi = true à partir de la ligne de commande.
Vous pouvez vérifier cela Lien .
Le moyen le plus simple est de le faire dans le terminal à la racine du projet Android.
Exécutez la commande suivante:
./gradlew -Pandroid.debug.obsoleteApi=true
Comme indiqué dans le message d'erreur, vous devez ajouter que dans gradle.properties
fichier et pas dans l'un de vos build.gradle
des dossiers