Error: no se pudo encontrar el gradle wrapper en el SDK de Android. Es posible que necesite actualizar su SDK de Android - Android

199

Sé que hay muchas preguntas similares a esta, pero no pude encontrar una solución para mi problema en ninguna de ellas. Además, proporcionaré detalles para mi caso específico.

Codifiqué un proyecto Ionic en Ubuntu 16.04 LTS, y ahora tengo que construirlo para su lanzamiento. Entonces ejecuto el comando:

cordova build --release android

Y me muestran el siguiente error:

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
  • No tengo este templates/gradle/wrapperdirectorio
  • Mi Android Studio es 2.3, la última versión por ahora
  • Android SDK Platform-Tools 25.0.3
  • Herramientas de Android SDK 25.3.1
  • Todas las versiones de Android desde 2.1 (Eclair) a 7.1.1 (Nougat)

Después de una extensa investigación, puse todas las variables de entorno relacionadas con Android Studio en el archivo /etc/environment. Entonces ahora se ve así:

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

Ahora, en aras de probar las variables de entorno, ejecuto los siguientes comandos:

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

Y todas las variables de ruta se muestran correctamente.

Entonces, parece que las variables de entorno son como deberían estar de acuerdo con las diversas preguntas similares y en los tutoriales que he buscado. ¿Alguien sabe qué estoy haciendo mal? ¿Por qué sigo recibiendo el error Gradle Wrapper?

rbenvenuto
fuente

Respuestas:

246

Acabo de experimentar el mismo problema.

Puede ser una oclusión en las instrucciones sobre cómo instalar (o actualizar) Android Studio con todas las herramientas de SDK que tanto usted como yo perdimos o posiblemente un error creado por una nueva versión de Studio que no sigue las mismas convenciones de archivos que el versiones mas antiguas. Me inclino hacia esto último ya que muchas de las publicaciones SO sobre este tema parecen apuntar a un ANDROID_PATH con una carpeta llamada android-sdk que no aparece en la última versión (2.3.0.8).

Sin embargo , parece haber una solución alternativa , que acabo de trabajar en mi máquina. Esto es lo que hice:

  • Descargue tools_r25.2.3-windows.zip de las descargas de Android .
  • Zip extraído en el escritorio
  • Se reemplazó C: \ Users \ username \ AppData \ Local \ Android \ sdk \ tools con herramientas extraídas de subcarpetas /
  • En la carpeta del proyecto:

    plataformas $ cordova eliminar android
    $ plataformas cordova agregar android

También es posible que deba forzar la eliminación de node_modules en android. Espero que esto ayude.

RJ
fuente
1
THX, he quedado atrapado en el mismo fenómeno, ahora recuperé mi entorno con tu remedio. Creo que es culpa de Google, por lo que los desarrolladores de Córdoba deberán esperar la próxima actualización corregida.
HirofumiTamori
1
Tenía exactamente el mismo problema. Se rebajó la versión de "Android SDK Tools" 25.2.3 que resolvió el problema. Probablemente deberíamos esperar la actualización del equipo de Google / Android.
Greg
3
Reemplazar solo la carpeta de herramientas hizo el truco para mí. No tuve que quitar y agregar la plataforma.
vahissan
16
Muy útil, para Mac puede hacer lo mismo, excepto para descargar herramientas para Windows, descargar desde Mac en esta dirección: dl.google.com/android/repository/tools_r25.2.3-macosx.zip
O. Edholm
14
Se puede acceder al archivo original directamente aquí: dl.google.com/android/repository/…
Devil's Advocate
254

Edición 3:

Se lanzó Cordova Android 6.2.2 y es totalmente compatible con las herramientas SDK 26.0.xy 25.3.1. Usa esta versión:

cordova platform update [email protected]

o

cordova platform rm android
cordova platform add [email protected]

Edición 2:

Ha habido otra versión de herramientas de Android SDK (26.0.x) que no es totalmente compatible con cordova-android 6.2.1.

Editar: Cordova Android 6.2.1 ha sido lanzado y ahora es compatible con el último SDK de Android.

Puede actualizar su plataforma Android incompatible actual con cordova platform update [email protected]

O puede eliminar la plataforma existente y agregar la nueva (eliminará cualquier cambio manual que haya realizado dentro de la yourProject/platforms/android/carpeta)

cordova platform rm android cordova platform add [email protected]

Debe especificar la versión porque la CLI actual instala 6.1.x de forma predeterminada.

Vieja respuesta:

Lamentablemente, las herramientas de Android SDK 25.3.1 rompieron cordova-android 6.1.x

Para aquellos que no desean degradar las herramientas del SDK, pueden instalar cordova-android desde github url ya que la mayoría de los problemas ya están solucionados en la rama maestra.

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

jcesarmobile
fuente
77
El lanzamiento ahora está en los repositorios npm, aunque parece que todavía no se está utilizando automáticamente. cordova platform add [email protected]funciona, sin embargo.
Jules
3
@chrjs cordova platform add [email protected]es seguro de usar ahora, no necesita agregar la versión de github y puede ser inestable, mejor use 6.2.3 como es la última versión lanzada
jcesarmobile
1
Estoy en Cordova 7.0.1 y recibo el error: ¿ Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.Algún consejo?
Ethan Keller
1
@EthanKeller, pero ¿tenía la plataforma de Android agregada anteriormente? Si ese es el caso, quítelo y cordova platform rm androidvuelva a agregarlocordova platform add android
jcesarmobile
1
¿Por qué no solo android@latest?
Seanny123
56

(Básicamente lo que @ user3464070 ya dijo)

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 base
fuente
1
La primera línea podría ser cd $ANDROID_HOMEpor simplicidad?
toxaq
1
@toxaq podría ser pero $ANDROID_HOMEno está definido en mi máquina.
código base
2
muchas gracias. ¡tus comandos + usando [email protected] funcionan como un encanto en mac!
David Dal Busco
43
  1. Si tiene instalado Android Studio en su sistema, copie la carpeta de plantillas de C:\Program Files\Android\Android Studio\plugins\android\lib\templates
  2. Pégalo en la carpeta C:\Users\<user-name>\AppData\Local\Android\sdk\tools
  3. Ejecute el comando: ionic build android

Se descargarán todos los archivos jar necesarios y se generará el archivo apk para la aplicación.

Nota: Establezca variables de entorno en C:\Users\<user-name>\AppData\Local\Android\sdk\tools. Establezca también el nombre de usuario a su nombre de usuario actual.

vinayb21
fuente
1
¡Solución simple y fácil!
Jari Pekkala
1
Esta es una solución fácil y económica para aquellos que tienen Android Studio.
Johnson
1
en realidad funcionó para mí ... cuando otras soluciones no lo hicieron. Lástima que parezca depender principalmente de las versiones de cordova / ionic / sdk / android studio
Kaddath
1
A partir de 2018 y trabajando con 2 versiones diferentes de Cordova, puedo garantizar que esta solución funciona y no necesita descargas adicionales.
ravemir
26

Para Linux hay una solución incluso mejor.

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

y descargue el archivo zip de las herramientas de línea de comandos (parte inferior de la página) para Linux. Extraerlos a su carpeta .... / Android / Sdk / para sobrescribir / ampliar su carpeta de herramientas. Ahora todo funciona bien.

usuario3464070
fuente
Sí, RJ respondió la solución alternativa de Windows para el problema, y ​​su respuesta es la solución de Linux. Útil para alguien que no sabe cómo resolver Windows ' C:\Users\username\AppData\Local\Android\sdk\toolsa Ubuntu'/home/user/Android/Sdk
rbenvenuto
@rbenvenuto Las respuestas son básicamente las mismas. Descargue herramientas, extraiga la carpeta zip y guarde el contenido extraído en la carpeta de herramientas de su idk. ¿Qué tan difícil puede ser entender? Estoy usando una Mac y guardaré en ~ / Library / Android / sdk / tools ¿Necesito robar los votos de alguien por explicar lo mismo en diferentes palabras?
iOSAndroidWindowsMobileAppsDev
44
@Anon Sí, no puedo negar que su respuesta fue más o menos la misma explicación con diferentes palabras. Pero puedo ver algo de valor para principiantes con dificultades como yo jajaja
rbenvenuto
las versiones anteriores ya no están disponibles en developer.android.com
Ferdinand.kraft
21

Para cualquiera que todavía tenga este problema, esto funcionó para mí:

    cordova platform update android@latest

luego compila y descargará automáticamente la última versión de gradle y debería funcionar

Mans
fuente
2
+1 Funciona como @ agosto de 2017 y lo actualiza a [email protected]. Las respuestas anteriores pueden o no funcionar o ser correctas más. Esta situación sigue cambiando y es causada directamente por el SDK de Android 25.3.1 que deja de admitir el binario de Android, como se describe aquí: cordova.apache.org/announcements/2017/04/05/…
JK.
1
Todavía estoy trabajando en marzo de 2018. No creo nuevos proyectos de Córdoba a menudo, este es el primero desde mi comentario anterior. Tuvo el mismo could not find gradle wrappererror. Tuve que buscar la solución en SO nuevamente. Esta es una corrección por proyecto, debe aplicarse a cada nuevo proyecto cordova que cree. Votaría dos veces si pudiera, esta es la segunda vez que esta respuesta me salva.
JK.
14

No es necesario degradar las herramientas de Android. En Windows, Gradle se mudó de:

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

a:

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

Por lo tanto, solo necesita ajustar su ruta para que apunte a la carpeta correcta.

herve
fuente
66
¡Hice lo contrario, moví el contenedor a mi AppData y funciona bien! Gracias ^ _ ^
Nicolas_LeBot
Copie el contenido de la carpeta del contenedor desde esta ruta C: \ Archivos de programa \ Android \ Android Studio \ plugins \ android \ lib \ templates \ gradle \ wrapper a C: / Android / Sdk / tools / templates / gradle / wrapper
inspirado
9

si tienes este error cuando ionic run android --device

## codova - android update 
npm install -g cordova
cordova platform update android
xsor
fuente
7

Acabo de copiar todo, desde la instalación típica de Android Studio. De: D: \ sw \ dev \ android \ studio \ plugins \ android \ lib \ templates

(todo el directorio de plantillas)

A:

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

Probado con Android iónico construir

AlexGera
fuente
Esta fue la solución en mi caso. Después de esta solución, puede recibir el mensaje de licencia. Ver stackoverflow.com/questions/40383323/…
JonathanRomer el
6

Este problema se produce cuando no tiene el envoltorio de gradle en sus herramientas SDK.

Como se dijo en las respuestas anteriores, puede actualizar a la última cordova-androidversión (funciona), pero si desea seguir trabajando con [email protected]y [email protected], simplemente copie la carpeta de 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

En mi caso, estoy usando el cordova-plugin-fcmy fue probado con la versión anterior de cordova-android, por lo que no puedo usarlo [email protected](todavía no).

Bruno Agutoli
fuente
5

Para Linux solo haga un enlace simbólico, así:

ln -s /android/android-studio/plugins/android/lib/templates /android/sdk/tools/templates
Mac
fuente
No probé la solución de enlace simbólico, pero en mi sistema /opt/android-studio/plugins/android/lib/templates/gradle/wrapper/gradlewno tiene permiso de ejecución. Asegúrate de modificarlo antes de intentarlo.
Ferdinand.kraft
No tengo plantilla / carpeta debajo sdk/tools.
PlayHardGoPro
5

En Linux (Ubuntu en mi caso) solo instala Gradle:

sudo apt-get install gradle

Editar: Parece que ubuntu repo solo tiene gradle 2.10, para versiones más nuevas: https://www.vultr.com/docs/how-to-install-gradle-on-ubuntu-16-10

Mawcel
fuente
1
Ninguna de las soluciones anteriores funcionó para mí. Estoy usando la última versión de cordova 7.0.1. Instalar gradle desde ubuntu repo resolvió el problema. Su 2017 y todavía cordova no sabe utilizar incorporado Gradle de Android Studio
sziraqui
3

Recientemente, también encontré un problema similar, y después de hacer esto, funciona:

Edité el archivo en /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

Otra información (por si acaso):

No estoy muy seguro acerca de la m2repositoryparte, en el primer intento pasa la grandle pero hay otro error (gradlew-command-failure-with-exit-code-

  1. Compruebo si en el estudio de Android el repositorio está activo, y no está activo, trato de activarlo, y cuando lo intento nuevamente (Cordova construye Android), descargo algunos otros archivos, ¿tal vez del repositorio? Y luego, cuando elimino la ruta, todavía funciona. (también gracias a la muestra de Marcin Orlowski para poder entender mejor la ruta de exportación).

Yo suelo:

  • Linux Mint Serena
  • nodo: v6.10.3
  • npm: 3.10.10
  • Córdoba: 7.0.0
  • Android Studio: 2.3.1
  • Herramientas de plataforma de Android SDK: 25.0.5
  • Herramientas de Android SDK: 26.0.2

Espero que pueda ayudar a cualquiera que pueda tener el mismo problema como el mío y que también lo necesite.

Gracias

Abdul Muhit
fuente
2

Ninguna de las soluciones funcionó para mí a partir de hoy. Mi situación fue que obtuve mi estudio de Android actualizado. Lo más popular para reemplazar la carpeta de herramientas con la última no funcionaría para mí. De hecho, no se requiere en algunos casos.

npm update -g cordova hizo el truco para mí

Luego quité la plataforma y la agregué nuevamente.

ionic platform remove android

ionic platform add android

Esto funciona para mí en Ionic. Estoy seguro de cordova platform remove/add androidque haré lo mismo. No probado sin embargo.

Trabajando otra vez !

kushalvm
fuente
2

Después de probar todo aquí dos veces en un orden diferente, reinstalé todo y antes de hacerlo cordova platform add androidfui templates/gradley corrí gradlew.bat. Después de completar esto, pude agregar la plataforma de Android sin ningún problema.

Abogado del diablo
fuente
0

Correr:

cordova platform update [email protected]

Y asegúrese de que el entorno de Android Studio y Android Studio varíe la referencia a la misma ubicación.

Arreglo esto copiando Android Studio de:

D:\Program Files\Android

a

C:\Program Files\Android
Avihai Cohen
fuente
0

Después de la actualización de cordova a 7.0.x, la ruta de acceso de Gradle ha cambiado como se discutió anteriormente. Para que funcione antes de que salga la solución oficial, simplemente instale manualmente el gradle y configúrelo en su entorno.

  1. Vaya a https://gradle.org/install descargue los paquetes binarios
  2. Descomprímalo, recuerde el camino, por ejemplo, Mi ruta en: E: \ Gradle
  3. Establezca las variables de entorno, como en Windows agregue E: \ Gradle \ bin

Eso es.

Peter.Wang
fuente
0

Después de experimentar el mismo problema, simplemente cambie el nombre del paquete en config.xml, identifique el atributo con un nombre sin "-" dentro ...

es decir

com.web-projet.appname

renombrado en:

com.webprojet.appname

y todo fue correcto ...

Si eso ayuda.

Jean-Luc Aubert
fuente
0

Estoy usando Ubuntu 16.04 y para mí, funcionó simplemente usando dos comandos:

ionic cordova platform rm android
ionic cordova platform add [email protected]
Niraj
fuente
-1

Solución fácil y simple para MAC

Mi problema fue

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

Solución

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 construye android nuevamente trabajando ahora !!!

Jeril Kuruvila
fuente
1
¿Explicas esto? Por que suceder
wilfredonoyola