Erro: não foi possível encontrar o wrapper gradle no Android SDK. Pode ser necessário atualizar seu Android SDK - Android


199

Sei que há muitas perguntas semelhantes a essa, mas não consegui encontrar uma solução para o meu problema em nenhuma delas. Além disso, fornecerei detalhes para o meu caso específico.

Codifiquei um projeto Ionic no Ubuntu 16.04 LTS e agora tenho que construí-lo para lançamento. Então, eu executo o comando:

cordova build --release android

E eu recebo o seguinte erro:

Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.
Looked here: /home/user/Android/Sdk/tools/templates/gradle/wrapper
  • Eu não tenho esse templates/gradle/wrapperdiretório.
  • Meu Android Studio é 2.3, a versão mais recente por enquanto
  • Ferramentas da plataforma SDK do Android 25.0.3
  • Ferramentas do Android SDK 25.3.1
  • Todas as versões do Android de 2.1 (Eclair) a 7.1.1 (Nougat)

Após uma extensa pesquisa, coloquei todas as variáveis ​​de ambiente relacionadas ao Android Studio no arquivo /etc/environment. Então agora fica assim:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/game:/home/<user>/Android/Sdk:/home/<user>/Android/Sdk/tools:/home/<user>/Android/Sdk/platform-tools"

ANDROID_HOME=/home/<user>/Android/Sdk
export ANDROID_HOME

JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JAVA_HOME

GRADLE_HOME=/opt/android-studio/gradle/gradle-3.2
export GRADLE_HOME

Agora, para testar as variáveis ​​de ambiente, eu executo os seguintes comandos:

source /etc/environment
echo $PATH
echo $ANDROID_HOME
echo $JAVA_HOME
echo $GRADLE_HOME

E todas as variáveis ​​de caminho são exibidas corretamente.

Portanto, parece que as variáveis ​​de ambiente devem estar de acordo com as várias perguntas semelhantes e nos tutoriais que pesquisei. Alguém sabe o que estou fazendo de errado? Por que ainda recebo o erro Gradle Wrapper?

Respostas:


246

Acabei de experimentar o mesmo problema.

Pode ser uma oclusão nas instruções sobre como instalar (ou atualizar) o Android Studio com todas as ferramentas do SDK que você e eu perdemos ou possivelmente um bug criado por uma nova versão do Studio que não segue as mesmas convenções de arquivo do versões mais antigas. Eu me inclino para o último, já que muitas das postagens do SO sobre este tópico parecem apontar para um ANDROID_PATH com uma pasta chamada android-sdk que não aparece na versão mais recente (2.3.0.8).

Parece haver uma solução alternativa , que eu acabei de trabalhar na minha máquina. Aqui está o que eu fiz:

  • Faça o download do tools_r25.2.3-windows.zip em Downloads do Android .
  • Zip extraído na área de trabalho
  • C: \ Users \ nome de usuário \ AppData \ Local \ Android \ sdk \ tools substituído por subpastas extraídas /
  • Na pasta do projeto:

    $ plataformas $ cordova remover android
    $ plataformas $ cordova adicionar android

Você também pode precisar forçar a remoção do node_modules no android. Espero que isso ajude.


1
THX, eu fiquei preso no mesmo fenômeno, agora recuperei meu ambiente com seu remédio. Eu acho que é culpa do Google, então os desenvolvedores de cordova devem esperar pela próxima atualização corrigida.
— precisa

1
Tinha exatamente o mesmo problema. Downgrade "Android SDK Tools" 25.2.3 que corrigiu o problema. Provavelmente, devemos esperar pela atualização da equipe do Google / Android.
— Gregor

3
Substituir apenas a pasta de ferramentas fez o truque para mim. Não foi necessário remover e adicionar a plataforma.
— vahissan

16
Muito útil, para Mac, você pode fazer o mesmo, exceto no download de ferramentas para Windows, baixado do Mac neste endereço: dl.google.com/android/repository/tools_r25.2.3-macosx.zip
— O. Edholm

14
O arquivo original pode ser acessado diretamente aqui: dl.google.com/android/repository/...
— Advogado do Diabo

254

Edição 3:

O Cordova Android 6.2.2 foi lançado e é totalmente compatível com as ferramentas SDK 26.0.xe 25.3.1. Use esta versão:

cordova platform update android@6.2.2

ou

cordova platform rm android
cordova platform add android@6.2.2

Edição 2:

Houve outra versão das ferramentas do Android SDK (26.0.x) que não é totalmente compatível com o cordova-android 6.2.1.

Edit: Cordova O Android 6.2.1 foi lançado e agora é compatível com o mais recente SDK do Android.

Você pode atualizar sua plataforma Android incompatível atual com cordova platform update android@6.2.1

Ou você pode remover a plataforma existente e adicionar a nova (excluirá qualquer alteração manual que você fez dentro da yourProject/platforms/android/pasta)

cordova platform rm android cordova platform add android@6.2.1

Você precisa especificar a versão porque a CLI atual instala o 6.1.x por padrão.

Resposta antiga:

Infelizmente, as ferramentas do SDK para Android 25.3.1 quebraram o cordova-android 6.1.x

Para aqueles que não desejam fazer o downgrade das ferramentas do SDK, você pode instalar o cordova-android a partir do url do github, pois a maioria dos problemas já está corrigida na ramificação principal.

cordova platform add https://github.com/apache/cordova-android


7
A versão está agora disponível nos repositórios npm, embora ainda não pareça estar sendo usada automaticamente. cordova platform add android@6.2.0funciona, no entanto.
— Jules

3
@chrjs cordova platform add android@6.2.3é seguro para usar agora, você não precisa adicionar a versão github e pode ser instável, melhor aproveitamento 6.2.3 como é o mais recente lançado um
— jcesarmobile

1
Estou no Cordova 7.0.1 e estou recebendo o erro: Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.Algum conselho?
— Ethan Keller

1
@ EthanKeller, mas você adicionou a plataforma Android anteriormente? Se for esse o caso, remova-o e cordova platform rm androidadicione-o #cordova platform add android
— jcesarmobile

1
Por que não apenas android@latest?
— precisa saber é o seguinte

56

(Basicamente, o que @ user3464070 já disse)

Para Mac:

cd ~/Library/Android/sdk
# download latest tools
curl -O https://dl.google.com/android/repository/tools_r25.2.3-macosx.zip
# overwrite existing tools folder without prompting
unzip -o tools_r25.2.3-macosx.zip
# clean up
rm tools_r25.2.3-macosx.zip

1
Primeira linha poderia ser cd $ANDROID_HOMEpor simplicidade?
— toxaq

1
@toxaq poderia ser, mas $ANDROID_HOMEnão está definido na minha máquina.
— BaseCode

2
thx muito. seus comandos + usando android@6.1.2 funcionam como um encanto no mac!
— David Dal Busco

43
  1. Se você possui o android studio instalado em seu sistema, copie a pasta de modelos de C:\Program Files\Android\Android Studio\plugins\android\lib\templates
  2. Cole-o na pasta C:\Users\<user-name>\AppData\Local\Android\sdk\tools
  3. Execute o comando: ionic build android

Todos os arquivos jar necessários serão baixados e o arquivo apk para o aplicativo será gerado.

Nota: Defina as variáveis ​​de ambiente para C:\Users\<user-name>\AppData\Local\Android\sdk\tools. Defina também nome do usuário como seu nome de usuário atual.


1
Solução simples e fácil!
— Jari Pekkala

1
Esta é uma solução fácil e econômica para quem tem o Android Studio.
— Johnson

1
realmente funcionou para mim ... quando outras soluções não. Pena que parece principalmente a depender cordova / iônica / SDK / android versões de estúdio
— Kaddath

1
A partir de 2018 e trabalhando com duas versões diferentes do Cordova, posso garantir essa solução como uma que funcione e não precise de downloads adicionais.
— Ravemir

26

Para Linux, existe uma solução ainda melhor.

Navegue para https://developer.android.com/studio/index.html#downloads

e faça o download do arquivo zip das ferramentas de linha de comando (parte inferior da página) para linux. Extraia-os para sua pasta .... / Android / Sdk / para substituir / estender sua pasta de ferramentas. Agora tudo funciona bem.


Sim, o RJ respondeu à solução alternativa do Windows para o problema, e sua resposta é a solução Linux. Útil para alguém que não sabe como resolver o Windows' C:\Users\username\AppData\Local\Android\sdk\toolspara o Ubuntu/home/user/Android/Sdk
— rbenvenuto

@rbenvenuto As respostas são basicamente as mesmas. Faça o download de ferramentas, extraia a pasta zip e salve o conteúdo extraído na pasta de ferramentas do seu idk. Quão difícil pode ser entender? Estou usando um Mac e salvarei em ~ / Library / Android / sdk / tools Preciso roubar votos de alguém para explicar a mesma coisa em palavras diferentes?
— iOSAndroidWindowsMobileAppsDev

4
@ Anon Sim, não posso negar que sua resposta foi praticamente a mesma explicação com palavras diferentes. Mas eu posso ver algum valor nele para lutar iniciantes como eu lol
— rbenvenuto

versões anteriores não estão mais disponíveis no developer.android.com
— Ferdinand.kraft

21

Para quem ainda está tendo esse problema, isso funcionou para mim:

    cordova platform update android@latest

então construa e ele baixará automaticamente a versão mais recente do gradle e deve funcionar


2
+1 Funciona como @ agosto de 2017 e atualiza você para cordova-android@6.2.3. Respostas mais antigas podem ou não funcionar ou não estão mais corretas. Essa situação continua mudando e é causada diretamente pelo SDK do Android 25.3.1, descartando o suporte para o binário do Android, conforme descrito aqui: cordova.apache.org/announcements/2017/04/05/…
— JK.

1
Ainda trabalhando em março de 2018. Não crio novos projetos cordova com frequência, este é o primeiro desde o meu comentário anterior. Teve o mesmo could not find gradle wrappererro. Eu tive que procurar a solução no SO novamente. Esta é uma correção por projeto, deve ser aplicada a cada novo projeto cordova que você criar. Gostaria de votar duas vezes, se pudesse, esta é a segunda vez que essa resposta me salva agora.
— JK.

14

Não é necessário fazer o downgrade das Ferramentas do Android. No Windows, Gradle mudou de:

C:\Users\you_username\AppData\Local\Android\sdk\tools

para:

C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle\wrapper

Então, você só precisa ajustar o seu caminho para que ele aponte para a pasta correta.


6
Fiz o oposto, movendo o wrapper para o meu AppData e ele funciona bem! Obrigado ^ _ ^
— Nicolas_LeBot


Copie o conteúdo da pasta wrapper a partir deste caminho C: \ Program Files \ Android \ Android Studio \ plugins \ android \ lib \ templates \ Gradle \ wrapper para C: / Android / SDK / ferramentas / modelos / Gradle / invólucro
— inspiredMichael

9

se você tiver esse erro quando você ionic run android --device

## codova - android update 
npm install -g cordova
cordova platform update android

7

Apenas copiei tudo da instalação típica do Android Studio. De: D: \ sw \ dev \ android \ studio \ plugins \ android \ lib \ templates

(o diretório inteiro dos modelos)

Para:

D: \ sw \ dev \ android \ sdk \ tools

Testado com construção iônica android


Esta foi a solução no meu caso. Após esta solução, você poderá receber a mensagem de licença. Veja stackoverflow.com/questions/40383323/…
— JonathanRomer

6

Esse problema ocorre quando você não possui o wrapper gradle nas ferramentas do SDK.

Como as respostas anteriores disseram, você pode atualizar para a última cordova-androidversão (funciona), mas se quiser continuar trabalhando cordova-cli@6.4.0e cordova-android@6.0.0copie a pasta do android studio ex .;

cd /Applications/Android\ Studio.app/Contents/plugins/android/lib/
cp -r templates/ $ANDROID_HOME/tools/templates
chmod +x $ANDROID_HOME/tools/templates/gradle/wrapper/gradlew

No meu caso, estou usando o cordova-plugin-fcme foi testado com a versão antiga do cordova-android, então não posso usá-lo cordova-android@2.x(ainda não).


5

Para o Linux, faça um link simbólico, assim:

ln -s /android/android-studio/plugins/android/lib/templates /android/sdk/tools/templates

Não testei a solução de link simbólico, mas no meu sistema /opt/android-studio/plugins/android/lib/templates/gradle/wrapper/gradlewnão há permissão de execução. Certifique-se de chmod antes de tentar.
— Ferdinand.kraft

Não tenho modelo / pasta em sdk/tools.
— PlayHardGoPro

5

No linux (Ubuntu no meu caso) basta instalar o gradle:

sudo apt-get install gradle

Edit: Parece que o repo ubuntu só possui o gradle 2.10, para versões mais recentes: https://www.vultr.com/docs/how-to-install-gradle-on-ubuntu-16-10


1
Nenhuma das soluções acima funcionou para mim. Estou usando a versão mais recente do cordova 7.0.1. A instalação do gradle a partir do ubuntu repo resolveu o problema. Sua 2017 e ainda cordova não sabe usar o estúdio Android embutido Gradle
— sziraqui

3

Recentemente, também encontrei um problema semelhante e, depois disso, ele funciona:

Eu editei o arquivo em /etc/profile

sudo nano /etc/profile

export JAVA_HOME=/home/abdul/java/jdk1.8.0_131
export PATH=$PATH:$JAVA_HOME/bin

export ANDROID_HOME=/home/abdul/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

export GRADLE_ANDROID_HOME=/home/abdul/android-studio/gradle
export PATH=$PATH:$GRADLE_ANDROID_HOME/gradle-3.2/bin
export PATH=$PATH:$GRADLE_ANDROID_HOME/m2repository

Outras informações (apenas no caso):

Não tenho muita certeza sobre a m2repositoryparte, na primeira tentativa ele passa o grandle, mas há outro erro (gradlew-command-failed-with-exit-code-

  1. Verifico se no android studio o repositório está ativo e não ativo, tento ativá-lo e quando tento novamente (o Cordova constrói o Android), ele baixa alguns outros arquivos, talvez do repositório? E então, quando eu excluo o caminho, ele ainda funciona. (também graças à amostra de Marcin Orlowski para que eu possa entender melhor sobre o caminho da exportação).

Eu uso:

  • Linux Mint Serena
  • nó: v6.10.3
  • npm: 3.10.10
  • Cordova: 7.0.0
  • Android Studio: 2.3.1
  • Ferramentas da plataforma Android SDK: 25.0.5
  • Ferramentas do SDK para Android: 26.0.2

Espero que ajude qualquer um que possa ter o mesmo problema como o meu e que também precise dele.

obrigado




2

Nenhuma das soluções funcionou para mim até hoje. Minha situação era que eu atualizei meu estúdio Android. A coisa mais popular para substituir a pasta de ferramentas pela mais recente não funcionaria para mim. A informação não é necessária em alguns casos.

npm update -g cordova fez o truque para mim.

Em seguida, removi a plataforma e a adicionei novamente.

ionic platform remove android

ionic platform add android

Isso funciona para mim no Ionic. Tenho certeza cordova platform remove/add androidque fará as mesmas coisas. Não testado embora.

Trabalhando de novo !


2

Depois de tentar tudo aqui duas vezes em ordem diferente, reinstalei tudo e, antes de fazer cordova platform add android, fui templates/gradlee corri gradlew.bat. Depois disso, pude adicionar a plataforma Android sem nenhum problema.


1

Isso resolveu para mim:

cordova platform update android@6.1.2

0

Corre:

cordova platform update android@6.1.2

E verifique se a variável de ambiente do Android Studio e Android Studio faz referência ao mesmo local.

Corrijo isso copiando o Android Studio de:

D:\Program Files\Android

para

C:\Program Files\Android

0

Após a atualização do cordova para 7.0.x, o caminho do gradle foi alterado conforme discutido acima. Para que funcione antes da correção oficial, instale manualmente o gradle e defina-o no seu Ambiente.

  1. Acesse https://gradle.org/install, faça o download dos pacotes binários
  2. Descompacte-o, lembre-se do caminho, por exemplo, Meu em: E: \ Gradle
  3. Defina as variáveis ​​de ambiente, como no Windows, adicione E: \ Gradle \ bin

É isso aí.


0

Depois de experimentar o mesmo problema, apenas renomeie o nome do pacote em config.xml, identifique o atributo com um nome sem "-" dentro ...

ie

com.web-projet.appname

renomeado para:

com.webprojet.appname

e tudo estava correto ...

Se isso ajudar.


0

A instalação do cordova versão 5.0 me ajuda a:

npm install -g cordova@5.0

0

Estou usando o Ubuntu 16.04 e, para mim, funcionou usando apenas dois comandos: -

ionic cordova platform rm android
ionic cordova platform add android@6.3.0

-1

Solução fácil e simples para MAC

Meu problema foi

cordova build android
ANDROID_HOME=/Users/jerilkuruvila/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home
Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.
Looked here: /Users/jerilkuruvila/Library/Android/sdk/tools/templates/gradle/wrapper

Solução

jerilkuruvila@Jerils-ENIAC tools $ cd templates
-bash: cd: mkdir: No such file or directory
jerilkuruvila@Jerils-ENIAC tools $ mkdir templates
jerilkuruvila@Jerils-ENIAC tools $ cp -rf gradle templates/
jerilkuruvila@Jerils-ENIAC tools $ chmod a+x templates/

cordova construir android novamente trabalhando agora !!!


1
Você explica isso? Por que acontecer?
— Wilfredonoyola
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.