it-swarm.com.de

RegisterResGeneratingTask ist veraltet. Verwenden Sie registerGeneratedFolders (FileCollection).

._____. Beim Aufbau ist eine Warnung aufgetreten:.

registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
107

Soweit ich weiß, werden Plugins, die als Klassenpfadabhängigkeiten hinzugefügt wurden, Probleme bereiten. Das heißt Firebase hatte ein Problem damit. Löffel und Flattern ebenfalls. Wenn Sie diese Google-Suche ausführen, werden viele GitHub-Repos mit einem Problem aufgedeckt, das über dieselbe Sache angesprochen wurde. Allen gemeinsam ist die Tatsache, dass es sich um ein Gradle-Plugin handelt. Stoff scheint auch eine Ursache zu sein, wie von Mate * erwähnt

Soweit ich weiß, liegt das Problem an einem oder mehreren Gradle-Plug-ins. Es kann auch von Ihrem Gradle-Code ausgelöst werden. Dies ist jedoch höchstwahrscheinlich nicht zutreffend, wenn es sich bei Ihrem Projekt um eine App und nicht um ein Gradle-Plugin handelt.

Und wie von Alex Cohn in einem Kommentar erwähnt, ist die Abwertung eine Warnung. In diesem Fall bedeutet dies, dass diese Funktion 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. Deaktivieren von z. Das Fabric * -Plugin ist übertrieben, da es immer noch funktioniert.

Ich benutze Fabric nicht selbst und Fabric ist nicht Open Source, daher weiß ich nicht, ob die Entwickler das Problem 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, zu viel des Guten. Wenn Sie das Problem nicht beheben können, lassen Sie es in Ruhe, solange es derzeit nur veraltet ist (nicht entfernt).


Wenn Sie Firebase verwenden, gibt es eine spezielle Lösung dafür, die auch im Migrationshandbuch (weiter unten in diesem Beitrag verlinkt) erwähnt wird. schließe das Guaven-Modul aus

classpath ('com.google.firebase:firebase-plugins:1.1.0') {
    exclude group: 'com.google.guava', module: 'guava-jdk5'
}

Das Problem selbst ist ziemlich schwer zu erkennen. Soweit ich weiß, gibt es kein einzelnes Problem, das es in allen von mir überprüften (und in dieser Antwort verlinkten) Plugins verursacht. Wenn Sie etwas codiert haben, das das Problem verursacht (und es ist möglich, es zu beheben; das Hinzufügen eines Gradle-Plugins eines Drittanbieters verursacht es nicht), können Sie versuchen, es zu beheben.

Nach allem, was ich über die eigentliche Ursache wissen kann, wird dies durch Aktualisieren der Gradle-Datei behoben (obwohl dies in der Spoon-Bibliothek durch Ändern einer Zeile in Bezug auf TestVariant behoben wurde), indem den Themen im Gradle-Plugin 3.0 gefolgt wird .0 Migrationsanleitung.

Das Ganze wird behandelt durch die Entwicklerdokumentation , aber hier sind einige der Dinge, die meiner Meinung nach relevant sind, basierend auf den Pull-Anfragen, die für Projekte durchgeführt wurden, bei denen es ein Problem gab:

Neben der Aktualisierung der Gradle-Version und des Plugins müssen Sie unter repositories auch das Repo google() hinzufügen.

compile ist jetzt implementation oder api, aber implementation ist die empfohlene.

provided ist compileOnly und apk ist runtimeOnly

androidTestCompile wurde androidTestImplementation und testCompile -> testImplementation

Wenn Sie Aromen verwenden, müssen Sie Aromadimensionen verwenden (in den Dokumenten beschrieben).

Für Build-Typen müssen Sie Fallbacks einbeziehen, falls es eine Bibliothek gibt, die diesen Build-Typ nicht hat. Diese werden im Block profile unter dem Block Android 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 dennoch tun, stellen Sie sicher, dass das Gradle-Plugin zuerst definiert wurde.

Wenn Sie testVariants verwenden, stellen Sie sicher, dass Sie testedVariant in der Klasse nicht aufrufen. Es scheint die Ursache für die Spoon-Bibliothek zu sein.

Dies sind, soweit ich weiß, einige der Änderungen, die zur Behebung des Problems vorgenommen wurden.

41
Zoe

Durch die Aktualisierung auf die neueste Version des Fabric Gradle Plugins wird dieses Problem behoben.

Aus dem Änderungsprotokoll:

  • Die Warnung über "registerResGeneratingTask" wurde behoben.

https://docs.fabric.io/Android/changelog.html#march-15-2018

8
luis_cortes

Ich benutze das Play Services Gradle Plugin com.google.gms:google-services mit der Version 4.2.0.

Im Quellcode können wir Folgendes sehen:  enter image description here

Das war für mich der Grund meiner Warnungen und kann nicht entfernt werden, bis das Plugin behoben ist. Das Thema ist hier

Wie von @Zoe erwähnt, kann dies auch von anderen Gradle Plugins stammen.

Beste

6
user1998494

Das Problem wurde mit dem Google Services Plugin Version 4.3.0 behoben. (Gelöst mit this commit )

buildscript {
    dependencies {
        // Change version to 4.3.0
        classpath 'com.google.gms:google-services:4.3.0'
    }
}

Gefunden hier

6
Simpler

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 Problem gelöst.

2
Lee Hounshell

Nach der korrekten Installation von Fabric wurde dieses Problem für mich behoben

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' }
}
1
Nithin Raja

Diese Warnung ist für mich verschwunden, wenn ich das Fabric Gradle Plugin deaktiviert habe. Bitte überprüfen Sie, ob Sie Fabric oder ein anderes Plugin verwenden, das für diese Warnung verantwortlich ist.

0
Mate