._____. Lors de la construction de certains avertissements:.
registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
D'après ce que je peux dire, les plugins ajoutés en tant que dépendances de classpath poseront des problèmes. C'est à dire. Firebase eu un problème avec elle. Cuillère et Flutter ainsi. Faire cette recherche Google révèle beaucoup de dépôts de GitHub avec un problème soulevé par la même chose, et tout ce qu’ils ont en commun est le fait qu’il s’agit d’un plugin Gradle. Le tissu semble aussi être une cause, comme mentionné par Mate *
D'après ce que je peux dire, le problème provient d'un/de plusieurs plugins Gradle. Il peut également être déclenché par votre code Gradle, mais cela n’est probablement pas applicable si votre projet est une application et non un plugin Gradle.
Et comme mentionné par Alex Cohn dans un commentaire, la dépréciation est un avertissement. Dans ce cas, cela signifie que c'est une fonctionnalité qui sera éventuellement supprimée. Donc pour le moment, en supposant que ce soit un plugin (et non fait par vous), vous pouvez l'ignorer. Au moment où il est supprimé, la plupart/tous les plugins majeurs devraient être mis à jour pour y remédier.
Et, encore une fois, c'est un avertissement; pas une erreur. Vous pouvez toujours l'exécuter et l'ignorer s'il n'y a rien que vous puissiez faire pour résoudre le problème. Désactiver par exemple le plug-in Fabric * est excessif, car il fonctionne toujours.
Je n'utilise pas Fabric moi-même, et Fabric n'est pas open-source. Je ne sais donc pas si les développeurs l'ont corrigé ou non.
TL; DR: Les plugins Gradle en sont la cause. C'est un avertissement (pas une erreur), il est donc excessif de supprimer les plug-ins qui sont à l'origine du problème. Si vous ne pouvez pas le réparer, laissez-le tranquille tant qu'il est seulement obsolète pour le moment (non supprimé).
Si vous utilisez Firebase, il existe une solution spécifique qui est également mentionnée dans le guide de migration (lié plus tard dans ce post); exclure le module de goyave
classpath ('com.google.firebase:firebase-plugins:1.1.0') {
exclude group: 'com.google.guava', module: 'guava-jdk5'
}
Le problème lui-même est assez difficile à détecter. D'après ce que je peux dire, il n'y a pas un seul problème qui le cause dans tous les plugins que j'ai vérifiés (et liés dans cette réponse). Si vous avez codé quelque chose qui cause le problème (et qu'il est possible de le réparer; l'ajout d'un plugin Gradle tiers ne le provoque pas), vous pouvez essayer de résoudre certains problèmes.
D'après ce que je peux dire de la cause réelle, cela a été résolu en mettant à jour le fichier Gradle (bien que dans la bibliothèque Spoon, le problème ait été corrigé en modifiant une ligne associée à TestVariant
) en suivant les rubriques du guide de migration du plugin Gradle 3.0.0.
L'ensemble de la question est couvert par la documentation du développeur , mais voici quelques éléments qui, à mon avis, sont pertinents en fonction des demandes d'extraction effectuées sur des projets pour lesquels cela pose problème:
Outre la mise à jour de la version et du plug-in de Gradle, vous devez également ajouter le référentiel google()
sous repositories
.
compile
est maintenant implementation
ou api
, mais implementation
est celui recommandé.
provided
est compileOnly
et apk
est runtimeOnly
androidTestCompile
est devenu androidTestImplementation
, et testCompile
-> testImplementation
Si vous utilisez des arômes, vous devez utiliser des dimensions d'arôme (couvertes par la documentation).
Pour les types de construction, vous devez inclure des substitutions au cas où une bibliothèque ne possède pas ce type de construction. Ceux-ci sont définis dans le bloc profile
sous le bloc Android
.
Si ce n'est déjà fait, le plugin Gradle doit d'abord être défini. Si vous n'avez pas d'autres dépendances de classpath, ce n'est pas un problème. Mais si vous le faites, assurez-vous que le plugin Gradle est défini en premier.
Si vous utilisez testVariants
, assurez-vous de ne pas appeler testedVariant
dans la classe. Cela semble être la cause de la bibliothèque Spoon.
D'après ce que j'ai pu dire, ces changements ont été apportés pour résoudre le problème.
La mise à jour vers la dernière version du plug-in Fabric Gradle résout ce problème.
Du changelog:
J'utilise le plugin Gradle Play Services com.google.gms:google-services
avec la version 4.2.0
.
Dans le code source, nous pouvons voir que:
Donc, pour moi, c’est la raison de mes avertissements et ne peut être supprimé jusqu’à ce que le plugin soit réparé. Le problème est ici
Comme mentionné par @Zoe, cela peut provenir d'autres plugins Gradle.
Meilleur
Le problème est résolu avec la version 4.3.0 du plug-in de services Google (résolu avec this commit ).
buildscript {
dependencies {
// Change version to 4.3.0
classpath 'com.google.gms:google-services:4.3.0'
}
}
Trouvé ici
Dans mon cas, cela était dû à une version incompatible des bibliothèques de support Android . J'ai mis à jour tous les modules avec la dernière version (28.0.0) et cela a résolu le problème.
Après avoir correctement installé Fabric, ce problème a été résolu pour moi.
import com.crashlytics.Android.Crashlytics;
import io.fabric.sdk.Android.Fabric;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Fabric.with(this, new Crashlytics());
}
}
build.gradle
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.Android.application'
apply plugin: 'io.fabric'
dependencies {
implementation 'com.crashlytics.sdk.Android:crashlytics:2.9.9'
}
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
Pour moi, cet avertissement a disparu lorsque j’ai éteint le plug-in Fabric Gradle. Vérifiez si vous utilisez Fabric ou un autre plug-in qui est responsable de cet avertissement.