it-swarm.com.de

Task 'Wrapper' kann nicht hinzugefügt werden, da dieser Name bereits existiert

bei der Installation von "React-native init AwesomeProject" Beim Ausführen von "React-native run-Android" wird der oben genannte Fehler angezeigt 

Could not determine Java version from '11.0.1'.

ein kurzer google schlägt vor, dass ich die distributionUrl im gradle-wrapper aktualisieren muss. Nachdem ich das getan habe, bin ich mit einem neuen Fehler konfrontiert 

Cannot add task 'wrapper' as a task with that name already exists.

es weist darauf hin, dass das Problem in der Datei enthalten ist:

/AwesomeProject/Android/build.gradle' line: 36

das sieht so aus

task wrapper(type: Wrapper) {
    gradleVersion = '4.4'
    distributionUrl = distributionUrl.replace("bin", "all")
}

Ich habe hin und her versucht, herauszufinden, was dies bewirkt. Es scheint seltsam, dass etwas nicht sofort funktionieren würde. Steht jemand vor einem ähnlichen Problem?

11
Ben Kemp

welche Version von Gradle verwenden Sie in Ihrer Umgebung?

Wenn Sie Gradle Version 5.x verwenden, müssen Sie den Task-Wrapper wie folgt ändern.

task wrapper(type: Wrapper) {
    gradleVersion = '4.4'
    distributionUrl = distributionUrl.replace("bin", "all")
}

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

wrapper {
    gradleVersion = '4.4'
    distributionUrl = distributionUrl.replace("bin", "all")
}
66
石塚祐輔

Wie in den Kommentaren erwähnt, folgen Sie - https://stackoverflow.com/a/46867575/4982729 :

  1. Öffnen und bearbeiten Sie die Datei app-folder/Android/gradle/wrapper/gradle-wrapper.properties; aktualisieren Sie die Zeile

    distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-all.Zip
    
  2. Versuchen Sie es in der Datei AwesomeProject/Android/build.gradle auszukommentieren

    task wrapper(type: Wrapper) {
        gradleVersion = '4.4'
        distributionUrl = distributionUrl.replace("bin", "all")
    }
    
10
markroxor

Sie können auch aktualisieren 

task wrapper(type: Wrapper) {
    gradleVersion = '4.4'    
    distributionUrl = distributionUrl.replace("bin", "all")
}

zu 

wrapper {
    gradleVersion = '4.4'
    distributionUrl = distributionUrl.replace("bin", "all")
}

Wie 

Das Überschreiben der in 4.8 veralteten integrierten Aufgaben führt jetzt zu einem Fehler.

Beim Versuch, eine integrierte Aufgabe zu ersetzen, wird ein Fehler ähnlich dem folgenden angezeigt:

Task 'Wrapper' kann nicht hinzugefügt werden, da dieser Name bereits existiert.

siehe den letzten Absatz von Aufgaben & Eigenschaften: https://docs.gradle.org/5.2.1/userguide/upgrading_version_4.html

und Anpassen der Wrapper-Task: https://docs.gradle.org/5.2.1/userguide/gradle_wrapper.html#customizing_wrapper

3
zhouji

Versuchen Sie, den Code zu löschen:

task wrapper(type: Wrapper) { gradleVersion = '4.4' distributionUrl = distributionUrl.replace("bin", "all") }

welches (wie in cmd erwähnt) von Zeile 36 aus gestartet wird.

1
Amir Gorji

Es besteht eine hohe Wahrscheinlichkeit, dass Sie eine "Aufgabe" haben, die in Ihrer build.gradle-Datei ausgeführt wird. Entfernen Sie die Zeile, die sich auf den Wrapper bezieht (einschließlich der Klammer usw.). Wenn Sie IntelliJ verwenden, wird das neue automatisch in Ihr Arbeitsverzeichnis verschoben.

0