Soudain, lors de la synchronisation de Gradle, j'obtiens cette erreur:
AVERTISSEMENT: l'API 'variant.getJavaCompile ()' est obsolète et a été remplacée par 'variant.getJavaCompileProvider ()'. Il sera supprimé fin 2019. Pour plus d'informations, voir https://d.android.com/r/tools/task-configuration-avoidance Modules concernés: app
J'ai ceci build.gradle
pour le module d'application:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'io.fabric'
android {
compileSdkVersion 28
buildToolsVersion "28.0.2"
defaultConfig {
applicationId "..."
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "..."
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
versionNameSuffix = version_suffix
[...]
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
[...]
}
debug {
[...]
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.61"
implementation 'androidx.appcompat:appcompat:1.0.0-rc02'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation "com.android.support:preference-v7:28.0.0"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
implementation 'com.google.android.material:material:1.0.0-rc02'
[...]
}
Je peux compiler correctement l'application, mais c'est un peu gênant, et comme je le vois, quelque chose cessera de fonctionner à la fin de 2019. Avez-vous des idées sur ce que c'est et comment le résoudre?
Réponses:
Ce problème est maintenant résolu avec la mise à jour Fabric Gradle version 1.30.0:
Communiqué de mise à jour: 19 mars 2019
Veuillez consulter ce lien: https://docs.fabric.io/android/changelog.html#march-15-2019
Veuillez mettre à jour votre dépendance de chemin de classe au niveau du projet Gradle:
la source
classpath 'io.fabric.tools:gradle:1.29.0'
. Que devrais-je faire?Je fais face à ce problème après la mise à jour vers 3.3.0
Si vous ne faites pas les états d'erreur dans le fichier gradle, c'est un plugin qui n'a toujours pas été mis à jour vers la nouvelle API qui provoque cela. Pour savoir de quel plug-in il s'agit, procédez comme suit (comme expliqué dans "Meilleures informations de débogage lors de l'utilisation d'une API obsolète" de l'annonce 3.3.0 ):
J'espère que cela aide les autres
la source
android.debug.obsoleteApi=true
, Pour lire les détails enregistrés: Allez dans l'onglet Build en bas et dans la fenêtre "Build Output", cliquez sur "Toggle View". Lorsque vous cliquez sur le joli, les couleurs disparaissent, faites défiler vers le haut où il est ditWARNING: API 'variant.getAssemble()' is obsolete
. Ensuite, en dessous, cela montreREASON: Called from:
... dans mon cas, c'était dû à medium.com/@xabaras/…Dans mon cas, cela a été causé par les services gms 4.3.0. J'ai donc dû le changer en:
J'ai trouvé cela en exécutant:
dans le terminal. Accédez à la vue -> fenêtres d'outils -> Terminal dans Android Studio.
la source
./
avant la commande, c'est-à-dire si le terminal est défini à la racine de votre projet Android. Sinon, vous devrez cd à la racine du projet.Ceci n'est qu'un avertissement et il sera probablement corrigé avant 2019 avec les mises à jour du plugin, alors ne vous inquiétez pas. Je vous recommande d'utiliser des versions compatibles de vos plugins et gradle.
Vous pouvez vérifier la version de votre plugin et la version gradle ici pour une meilleure expérience et performance.
https://developer.android.com/studio/releases/gradle-plugin
Essayez d'utiliser les versions stables pour un code fluide et sans avertissement / erreur.
la source
J'ai également rencontré le même problème. Et après avoir cherché pendant un certain temps, j'ai compris que l'avertissement se produisait en raison de l'utilisation de la dernière version du
google-services
plugin (version 4.3.0). J'utilisais d'ailleurs ce plugin pour les fonctionnalités Firebase dans mon application. Tout ce que j'ai fait, c'est de rétrograder mongoogle-services
plugin dans buildscript dans le fichier de niveau build.gradle (Project) comme suit:la source
Changez votre version des services Google de votre
build.gradle
:la source
Il s'agit d'un avertissement craché par les outils de construction pour deux raisons.
1. L'un des plugins s'appuie sur Task au lieu de TaskProvider, il n'y a rien que nous puissions faire.
2. Vous avez configuré l'utilisation de la tâche, alors qu'elle prend en charge TaskProvider.
Recherchez les extraits comme ci-dessous et mettez à jour.
De même, recherchez les utilisations de
'variant.getJavaCompile()'
ou'variant.javaCompile'
,'variant.getMergeResources()'
ou'variant.mergeResources'
. Remplacez comme ci-dessus.Plus d'informations sur Évitement de la configuration des tâches
la source
./gradlew
. Cela n'a rien à voir avec AS, c'est dans les outils de build. Mettre à niveau / rétrogradercom.android.tools.build:gradle:3.2.0
et exécuter./gradlew
. Cela ne viendra pas.variant.generateBuildConfig.enabled
dans mon projet. Je reçois toujours l'avertissement ci-dessusvariant.generateBuildConfig.enabled
dans mon projet. Je reçois toujours l'avertissement ci-dessusLe déclassement de la version de Gradle a fonctionné pour moi:
la source
1) Ajoutez
android.debug.obsoleteApi=true
à votregradle.properties
. Il vous montrera quels modules sont affectés par votre journal d'avertissement.2) Mettez à jour ces fonctions obsolètes.
variant.javaCompile
àvariant.javaCompileProvider
variant.javaCompile.destinationDir
àvariant.javaCompileProvider.get().destinationDir
la source
La mise à niveau de la version Kotlin ( Plugin et stdLib ) vers 1.3.1 a résolu cet avertissement dans mon cas. Mettez à jour la version Kotlin dans l'ensemble du projet en remplaçant la version Kotlin existante par:
la source
ext.kotlin_version = '1.2.71'
.. Changé pour la réponse ci-dessus et cela a bien fonctionné! - i supprimé mes/android
et/ios
dossiers, puis couruflutter create .
pour reconstruire l'application Flutter et placéext.kotlin_version = '1.2.71'
dans monbuild.gradle
Revenez de classpath 'com.android.tools.build:gradle:3.3.0-alpha13' à classpath 'com.android.tools.build:gradle:3.2.0'
cela a fonctionné pour moi
la source
Mettez à jour le plugin Fabric vers le dernier fichier Gradle au niveau du projet (pas au niveau de l'application). Dans mon cas, cette ligne a résolu le problème
à
la source
Dans mon cas
était
mis à jour pour
semble que le problème a disparu pour l'instant
la source
Dans mon cas, j'ai dû commenter le
com.google.firebase.firebase-crash
plugin:C'est un bug depuis Android Studio 3.3.0
la source
oss-licenses-plugin
Mise à jour de gradle à gradle: 3.3.0
La tâche par défaut d'assemblage ne s'applique qu'aux variantes normales. Ajoutez également des variantes de test.
commenter également appliquer le tissu
la source
crashlytics { manifestPath = "$buildDir/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml" }
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:
la source
si je supprime cette ligne de
application gradle
:l'erreur n'apparaîtra plus.
Lien de référence github
la source
les dépendances sont mises à niveau vers androidX. donc si vous souhaitez utiliser le contenu androidX, migrez votre projet vers androidX.
Avec Android Studio 3.2 et supérieur, vous pouvez migrer rapidement un projet existant pour utiliser AndroidX en sélectionnant Refactor> Migrer vers AndroidX dans la barre de menus.
la source
Cela a résolu mon problème. Tout ce que j'avais à faire était de rétrograder mon plugin google-services dans buildscript dans le fichier de niveau build.gradle (Project) comme suit
la source
Voici une solution de contournement temporaire, si vous utilisez la salle, passez simplement à la version 1.1.0 ou supérieure
il supprime cet avertissement pour moi.
la source
garder votre projet (pas l'application) Build.gradle dependncies code de version de chemin de classe est nouveau
la source
C'est une question populaire. Si vous n'utilisez pas ces méthodes, la solution met à jour les bibliothèques. Veuillez mettre à jour votre version de kotlin et toutes vos dépendances comme fabric , protobuf etc. Si vous êtes sûr d'avoir tout mis à jour, essayez de demander à l'auteur de la bibliothèque.
la source
La mise à niveau du plugin protobuf-gradle vers la version 0.8.10 a résolu mon problème. Remplacez votre protobuf existant par
la source
Cela est principalement dû aux bibliothèques obsolètes. Pour rechercher manuellement les nouvelles mises à jour, vous devez accéder à
Cela devrait suffire. Une autre option consiste à exécuter une mise à jour de la dépendance Gradle à l'aide de
./gradlew dependencyUpdates
qui produira un rapport comme celui-ci:
la source
la mise à niveau des services google au niveau du projet a
build.gradle
résolu mon problème.Après la mise à niveau:
la source
J'ai eu le même problème et il a été résolu en définissant la version du plugin kotlin gradle dans le fichier build.gradle.
change ça
à
la source
Dans mon cas, j'ai suivi cela . Résumé, au niveau de l'application Gradle: changez ceci:
à
la source