Verwenden von neuem Android Studio mit neuem 3.0.0 Gradle Pluging.
Beim Bau ist eine Warnung aufgetreten:
registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
android
android-studio
gradle
kotlin
android-studio-3.0
Valentin Baryshev
quelle
quelle
Antworten:
Nach allem, was ich sagen kann, verursachen Plugins, die als Klassenpfadabhängigkeiten hinzugefügt wurden, Probleme. Dh Firebase hatte ein Problem damit. Löffel und Flattern auch. Wenn Sie diese Google-Suche durchführen , werden viele GitHub-Repos mit einem Problem angezeigt, das über dasselbe Thema aufgeworfen wurde. Allen gemeinsam ist jedoch die Tatsache, dass es sich um ein Gradle-Plugin handelt. Stoff scheint ebenfalls eine Ursache zu sein, wie von Mate * erwähnt
Soweit ich das beurteilen kann, stammt das Problem von einem / mehreren Gradle-Plugins. Es kann auch durch Ihren Gradle-Code ausgelöst werden. Dies gilt jedoch höchstwahrscheinlich nicht, wenn Ihr Projekt eine App und kein Gradle-Plugin ist.
Und wie von Alex Cohn in einem Kommentar erwähnt, ist die Ablehnung eine Warnung. In diesem Fall bedeutet dies, dass es sich um eine Funktion handelt, die irgendwann entfernt wird. Angenommen, es ist ein Plugin (und nicht von Ihnen erstellt), können Sie es ignorieren. Zum Zeitpunkt des Entfernens sollten die meisten / alle wichtigen Plugins aktualisiert werden, um das Problem zu beheben.
Und wieder ist es eine Warnung; kein Fehler. Sie können es weiterhin ausführen und ignorieren, wenn Sie nichts gegen das Problem unternehmen können. Das Deaktivieren von z. B. dem Fabric * -Plugin ist übertrieben, da es immer noch funktioniert.
Ich benutze Fabric selbst nicht und Fabric ist nicht Open Source, daher weiß ich nicht, ob die Entwickler es behoben haben oder nicht
TL; DR: Gradle-Plugins sind die Ursache. Es ist eine Warnung (kein Fehler), daher ist das Entfernen der Plugins, die das Problem verursachen, übertrieben. Wenn Sie es nicht reparieren können, lassen Sie es in Ruhe, solange es im Moment nur veraltet ist (nicht entfernt).
Wenn Sie Firebase verwenden, gibt es eine spezielle Lösung, die auch im Migrationshandbuch (weiter unten in diesem Beitrag verlinkt) erwähnt wird. Schließen Sie das Guavenmodul aus
Das Problem selbst ist ziemlich schwer zu erkennen. Soweit ich weiß, gibt es in allen Plugins, die ich überprüft (und in dieser Antwort verlinkt) habe, kein einziges Problem, das es verursacht. Wenn Sie etwas codiert haben, das das Problem verursacht (und es kann behoben werden; das Hinzufügen eines Gradle-Plugins eines Drittanbieters verursacht es nicht), können Sie versuchen, das Problem zu beheben.
Soweit ich die tatsächliche Ursache beurteilen kann, wird das Problem durch Aktualisieren der Gradle-Datei (obwohl es in der Spoon-Bibliothek durch Ändern einer Zeile in Bezug auf behoben wurde) behoben, indem
TestVariant
die Themen im Migrationshandbuch für das Gradle-Plugin 3.0.0 befolgt werden.Das Ganze wird in den Entwicklerdokumenten behandelt , aber hier sind einige Dinge , die meiner Meinung nach relevant sind, basierend auf den Pull-Anforderungen, die für Projekte gestellt wurden, bei denen es ein Problem war:
Neben der Aktualisierung der Gradle-Version und des Plugins müssen Sie auch das
google()
Repo unter hinzufügenrepositories
.compile
ist jetztimplementation
oderapi
, ist aberimplementation
die empfohlene.provided
istcompileOnly
undapk
istruntimeOnly
androidTestCompile
ist gewordenandroidTestImplementation
, undtestCompile
->testImplementation
Wenn Sie Aromen verwenden, müssen Sie Geschmacksdimensionen verwenden (die in den Dokumenten behandelt werden).
Für Build-Typen müssen Sie Fallbacks einschließen, falls es eine Bibliothek gibt, die diesen Build-Typ nicht hat. Diese werden im
profile
Block unter demandroid
Block definiert.Falls noch nicht geschehen, muss zuerst das Gradle-Plugin definiert werden. Wenn Sie keine anderen Klassenpfadabhängigkeiten haben, ist dies kein Problem. Wenn Sie dies jedoch tun, stellen Sie sicher, dass das Gradle-Plugin zuerst definiert ist.
Wenn Sie verwenden
testVariants
, stellen Sie sicher, dass SietestedVariant
die Klasse nicht anrufen . Es scheint die Ursache für die Löffelbibliothek zu sein.Diese Dinge sind, soweit ich das beurteilen konnte, einige der Änderungen, die vorgenommen wurden, um das Problem zu beheben.
quelle
Ich verwende das Play Services Gradle Plugin
com.google.gms:google-services
mit Version4.2.0
.Im Quellcode können wir Folgendes sehen:
Für mich war das der Grund für meine Warnungen und kann erst entfernt werden, wenn das Plugin repariert ist. Das Problem ist hier
Wie von @Zoe erwähnt, kann dies auch von anderen Gradle-Plugins stammen.
Beste
quelle
Das Problem wurde mit dem Google Services Plugin Version 4.3.0 behoben (mit diesem Commit behoben )
gefunden hier
quelle
Das Aktualisieren auf die neueste Version des Fabric Gradle Plugins behebt dieses Problem.
Aus dem Changelog:
https://docs.fabric.io/android/changelog.html#march-15-2018
quelle
In meinem Fall wurde dies durch eine nicht übereinstimmende Version der Android-Unterstützungsbibliotheken verursacht. Ich habe alle Module auf die neueste Version (28.0.0) aktualisiert und das hat es gelöst.
quelle
Nach der ordnungsgemäßen Installation von Fabric wurde dieses Problem für mich behoben
build.gradle
quelle
Ich hatte diese Fehlermeldung und viele andere mögen
x-version is deprecated and use y-version instead and it'll be removed in 2019
und alle meine Projekte gaben plötzlich die gleichen Fehlermeldungen aus.
Android Studio warnte vor meinem Antivirenprogramm. Ich habe versucht, es zu konfigurieren, aber es hat nicht funktioniert.
Schließlich habe ich QuickHeal Antivirus von meinem System deinstalliert und jetzt ist alles in Ordnung
quelle
Alle anderen Antworten beziehen sich auf Probleme mit Komponenten von Drittanbietern .
So aktualisieren Sie Ihr Projekt, das
registerResGeneratingTask
direkt verwendet wird:Vor:
Nach dem:
quelle
Projektebene Build.Gradle
Verwenden Sie die folgende Version der Abhängigkeit von Google Services.
Problem für mich gelöst.
quelle
Für mich verschwand diese Warnung, als ich das Fabric Gradle Plugin deaktivierte. Bitte überprüfen Sie, ob Sie Fabric oder ein anderes Plugin verwenden, das für diese Warnung verantwortlich ist.
quelle
com.google.gms:google-services
4.0.1
&4.0.2
beide verursachen diesen Warnhinweis.