web-dev-qa-db-fra.com

Impossible d'ajouter la tâche 'wrapper' car une tâche portant ce nom existe déjà

lors de l'installation 'awesomeProject' (réactif natif) je rencontre ensuite l'erreur ci-dessus lors de l'exécution de 'réactif natif Android' 

Could not determine Java version from '11.0.1'.

un rapide google suggère de mettre à jour le distributionUrl dans Gradle-wrapper. Ayant fait cela, je suis confronté à une nouvelle erreur 

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

cela suggère que le problème est dans le fichier:

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

qui ressemble à ceci

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

J'ai essayé de comprendre ce que cela faisait. Il semble étrange que quelque chose ne fonctionne pas immédiatement. Quelqu'un est-il confronté à un problème similaire?

11
Ben Kemp

quelle version de Gradle utilisez-vous dans votre environnement?

Si vous utilisez Gradle version 5.x, vous devez modifier wra le wrapper de tâches comme ci-dessous.

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

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

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

Comme mentionné dans les commentaires suivants - https://stackoverflow.com/a/46867575/4982729 :

  1. Ouvrez et éditez le fichier app-folder/Android/gradle/wrapper/gradle-wrapper.properties; mettre à jour la ligne

    distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-all.Zip
    
  2. Dans le fichier AwesomeProject/Android/build.gradle essayez de commenter

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

Vous pouvez également mettre à jour 

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

à 

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

Comme 

Le remplacement des tâches intégrées déconseillées dans la version 4.8 génère désormais une erreur.

Tenter de remplacer une tâche intégrée générera une erreur semblable à celle-ci:

Impossible d'ajouter la tâche 'wrapper' car une tâche portant ce nom existe déjà.

voir le dernier paragraphe de Tasks & properties: https://docs.gradle.org/5.2.1/userguide/upgrading_version_4.html

et Personnalisation de la tâche wrapper: https://docs.gradle.org/5.2.1/userguide/gradle_wrapper.html#customizing_wrapper

3
zhouji

Essayez de supprimer le code:

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

qui commence (comme mentionné dans cmd) à partir de la ligne 36.

1
Amir Gorji

Il y a de fortes chances que vous ayez une "tâche" à exécuter dans votre fichier build.gradle. Supprimez la ligne associée au wrapper (y compris son crochet, etc.). Ensuite, si vous utilisez IntelliJ, le nouveau sera automatiquement transféré dans votre répertoire de travail.

0
Aramis Nasirianfar