Ao instalar o 'react-native init AwesomeProject' , recebo este erro quando executo react-native run-android
:
Could not determine java version from '11.0.1'.
Um rápido google sugere que eu preciso atualizar o distributionUrl
no wrapper do Gradle. Tendo feito isso, encontro um novo erro:
Cannot add task 'wrapper' as a task with that name already exists.
Isso sugere que o problema está no arquivo:
/AwesomeProject/android/build.gradle' line: 36
que se parece com isso
task wrapper(type: Wrapper) {
gradleVersion = '4.4'
distributionUrl = distributionUrl.replace("bin", "all")
}
Eu estive tentando descobrir o que isso faz. Parece estranho que algo não funcione direto da caixa. Alguém está enfrentando um problema semelhante?
Respostas:
Você também pode atualizar
para
Como
consulte o último parágrafo de Tarefas e propriedades : https://docs.gradle.org/5.2.1/userguide/upgrading_version_4.html
e Customizing the Wrapper task : https://docs.gradle.org/5.2.1/userguide/gradle_wrapper.html#customizing_wrapper
fonte
qual versão do gradle você usa em seu ambiente?
Se você usar o Gradle versão 5.x, será necessário modificar o 「empacotador de tarefas」 conforme abaixo.
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
fonte
Conforme mencionado nos comentários a seguir - https://stackoverflow.com/a/46867575/4982729 :
Abra e edite o arquivo
app-folder/android/gradle/wrapper/gradle-wrapper.properties
; atualize a linhaNo arquivo,
AwesomeProject/android/build.gradle
tente comentarfonte
se o arquivo "gradle-wrapper.properties" já tiver esses códigos
então você pode remover
de build.gradle
fonte
Eu tenho o mesmo problema. o problema no meu código era uma declaração dupla em outro arquivo Gradle em build.gradle
build.gradle
fonte
Há uma grande chance de você ter uma "tarefa" para executar em seu arquivo build.gradle, vá e remova a linha relacionada ao wrapper (incluindo seu colchete e assim por diante). Então, se você estiver usando o IntelliJ, ele trará automaticamente o novo para o seu diretório de trabalho.
fonte
Encontrei o problema porque estava executando minha tarefa usando o gradle global , e não meu local wrapper gradle .
ou seja, em meu diretório atual eu tinha um
gradlew
executável.Mas eu estava executando este comando:
Quando eu deveria estar correndo:
Presumivelmente porque a execução do gradle global tenta criar um wrapper local - e um já existia.
fonte