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?

rbenvenuto
fonte

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.

RJ
fonte
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 [email protected]

ou

cordova platform rm android
cordova platform add [email protected]

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 [email protected]

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 [email protected]

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

jcesarmobile
fonte
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 [email protected]funciona, no entanto.
Jules
3
@chrjs cordova platform add [email protected]é 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
código de base
fonte
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 [email protected] 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.

vinayb21
fonte
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.

user3464070
fonte
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

Mans
fonte
2
+1 Funciona como @ agosto de 2017 e atualiza você para [email protected]. 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.

herve
fonte
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
xsor
fonte
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

AlexGera
fonte
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 [email protected]e [email protected]copie 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 [email protected](ainda não).

Bruno Agutoli
fonte
5

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

ln -s /android/android-studio/plugins/android/lib/templates /android/sdk/tools/templates
Mac
fonte
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

Mawcel
fonte
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

Abdul Muhit
fonte
2

Não há necessidade de atualizar o sdk. Tente instalá-lo manualmente. Siga as instruções neste link

https://gradle.org/install

Arjun G Perambra
fonte
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 !

kushalvm
fonte
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.

Advogado do diabo
fonte
1

Isso resolveu para mim:

cordova platform update [email protected]
Mirko
fonte
0

Corre:

cordova platform update [email protected]

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
Avihai Cohen
fonte
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í.

Peter.Wang
fonte
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.

Jean-Luc Aubert
fonte
0

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

npm install -g [email protected]
fvukovic
fonte
0

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

ionic cordova platform rm android
ionic cordova platform add [email protected]
Niraj
fonte
-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 !!!

Jeril Kuruvila
fonte
1
Você explica isso? Por que acontecer?
Wilfredonoyola