android reactjs react-native wrapper expo

android - No se puede agregar la tarea ''contenedor'' como una tarea con ese nombre ya existe



reactjs react-native (4)

al instalar ''react-native init AwesomeProject'' Me encuentro con el error anterior al ejecutar ''react-native run-android''

Could not determine java version from ''11.0.1''.

Google sugiere rápidamente que necesito actualizar distributionUrl en el reinicio de Gradle. Habiendo hecho esto me encuentro con un nuevo error.

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

sugiere que el problema está en el archivo:

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

que se parece a esto

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

He estado yendo y viniendo tratando de averiguar qué hace esto. Parece extraño que algo no funcionara directamente de la caja. ¿Alguien está enfrentando un problema similar?


¿Qué versión de Gradle usas en tu entorno?

Si utiliza la versión 5.x de Gradle, debe modificar 「el contenedor de tareas」 como se muestra a continuación.

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

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

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


Como se menciona en los comentarios a continuación, https://.com/a/46867575/4982729 :

  1. Abra y edite el archivo app-folder/android/gradle/wrapper/gradle-wrapper.properties ; actualizar la linea

    distributionUrl=https/://services.gradle.org/distributions/gradle-5.0-all.zip

  2. En el archivo AwesomeProject/android/build.gradle intente comentar

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


Existe una alta probabilidad de que tenga una "tarea" para ejecutar en su archivo build.gradle, vaya y elimine la línea relacionada con el contenedor (incluido su soporte, etc.). Luego, si está utilizando IntelliJ, automáticamente traerá el nuevo a su directorio de trabajo.


También puedes actualizar

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

a

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

Como

La anulación de tareas integradas en desuso en 4.8 ahora produce un error.

El intento de reemplazar una tarea integrada producirá un error similar al siguiente:

No se puede agregar la tarea ''contenedor'' como una tarea con ese nombre ya existe.

vea el último párrafo de Tareas y propiedades : https://docs.gradle.org/5.2.1/userguide/upgrading_version_4.html

y personalización de la tarea Wrapper : https://docs.gradle.org/5.2.1/userguide/gradle_wrapper.html#customizing_wrapper