Al instalar 'react-native init AwesomeProject' obtengo este error cuando ejecuto react-native run-android
:
Could not determine java version from '11.0.1'.
Un google rápido sugiere que necesito actualizar el distributionUrl
en el contenedor 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 ve así
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 funcione de inmediato. ¿Alguien se enfrenta a un problema similar?
Respuestas:
También puedes actualizar
a
Como
consulte 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
fuente
¿Qué versión de gradle usas en tu entorno?
Si usa la versión 5.x de gradle, debe modificar el 「contenedor de tareas」 como se muestra a continuación.
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
fuente
Como se menciona en los comentarios a continuación, https://stackoverflow.com/a/46867575/4982729 :
Abra y edite el archivo
app-folder/android/gradle/wrapper/gradle-wrapper.properties
; actualizar la líneaEn el archivo,
AwesomeProject/android/build.gradle
intente comentarfuente
si el archivo "gradle-wrapper.properties" ya tiene estos códigos
entonces puedes eliminar
de build.gradle
fuente
Tengo el mismo problema. el problema en mi código fue una declaración doble en otro archivo Gradle en build.gradle
build.gradle
fuente
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 corchete, etc.). Luego, si está utilizando IntelliJ, automáticamente traerá el nuevo a su directorio de trabajo.
fuente
Me encontré con el problema porque estaba ejecutando mi tarea usando el gradle global , y no mi contenedor de gradle local .
es decir, en mi directorio actual tenía un
gradlew
ejecutable.Pero estaba ejecutando este comando:
Cuando debería haber estado corriendo:
Presumiblemente porque la ejecución del gradle global intenta crear un contenedor local, y ya existía uno.
fuente