Erreur: impossible de trouver le wrapper Gradle dans le SDK Android. Pourrait avoir besoin de mettre à jour votre SDK Android - Android

199

Je sais qu'il y a beaucoup de questions similaires à celle-ci, mais je n'ai trouvé aucune solution à mon problème dans aucune d'entre elles. En outre, je fournirai des détails sur mon cas spécifique.

J'ai codé un projet Ionic dans Ubuntu 16.04 LTS, et maintenant je dois le construire pour publication. Je lance donc la commande:

cordova build --release android

Et on me montre l'erreur suivante:

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
  • Je n'ai pas ce templates/gradle/wrapperrépertoire.
  • Mon Android Studio est 2.3, la dernière version pour l'instant
  • Android SDK Platform-Tools 25.0.3
  • Outils SDK Android 25.3.1
  • Toutes les versions Android de 2.1 (Eclair) à 7.1.1 (Nougat)

Après des recherches approfondies, j'ai mis toutes les variables d'environnement liées à Android Studio dans le fichier /etc/environment. Alors maintenant, cela ressemble à ceci:

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

Maintenant, pour tester les variables d'environnement, j'exécute les commandes suivantes:

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

Et toutes les variables de chemin sont correctement affichées.

Ainsi, il semble que les variables d'environnement soient comme elles devraient l'être selon les diverses questions similaires et dans les didacticiels que j'ai recherchés. Est-ce que quelqu'un sait ce que je fais mal? Pourquoi est-ce que j'obtiens toujours l'erreur Gradle Wrapper?

rbenvenuto
la source

Réponses:

246

Je viens de rencontrer le même problème.

Cela peut être une occlusion dans les instructions concernant l'installation (ou la mise à niveau) d'Android Studio avec tous les outils du SDK que vous et moi avons manqués ou peut-être un bogue créé par une nouvelle version de Studio qui ne suit pas les mêmes conventions de fichiers que le Versions plus anciennes. Je penche vers ce dernier car de nombreux messages SO sur ce sujet semblent pointer vers un ANDROID_PATH avec un dossier appelé android-sdk qui n'apparaît pas dans la dernière version (2.3.0.8).

Il semble cependant y avoir une solution de contournement , que je viens de travailler sur ma machine. Voici ce que j'ai fait:

  • Téléchargez tools_r25.2.3-windows.zip à partir des téléchargements Android .
  • Zip extrait sur le bureau
  • C: \ Users \ username \ AppData \ Local \ Android \ sdk \ tools remplacé par les outils de sous-dossier extraits /
  • Dans le dossier du projet:

    plates-formes $ cordova supprimer android
    plates-formes $ cordova ajouter android

Vous devrez peut-être également forcer la suppression des node_modules dans Android. J'espère que cela aide.

RJ
la source
1
THX, j'ai été piégé dans le même phénomène, maintenant récupéré mon environnement par votre remède. Je pense que c'est la faute de Google, donc les développeurs de cordova devront attendre la prochaine mise à jour corrigée.
HirofumiTamori
1
Eu exactement le même problème. "Android SDK Tools" 25.2.3 rétrogradé qui a résolu le problème. Nous devrions probablement attendre la mise à jour de l'équipe Google / Android.
Gregor
3
Remplacer uniquement le dossier des outils a fait l'affaire pour moi. N'a pas eu à supprimer et ajouter la plate-forme.
vahissan
16
Très utile, pour Mac vous pouvez faire de même sauf pour télécharger des outils pour Windows, vous téléchargez depuis Mac sur cette adresse: dl.google.com/android/repository/tools_r25.2.3-macosx.zip
O. Edholm
14
Le fichier d'origine est accessible directement ici: dl.google.com/android/repository/…
Devil's Advocate
254

Modifier 3:

Cordova Android 6.2.2 est sorti et il est entièrement compatible avec les outils SDK 26.0.x et 25.3.1. Utilisez cette version:

cordova platform update [email protected]

ou

cordova platform rm android
cordova platform add [email protected]

Modifier 2:

Il existe une autre version des outils du SDK Android (26.0.x) qui n'est pas entièrement compatible avec cordova-android 6.2.1.

Edit: Cordova Android 6.2.1 est sorti et il est maintenant compatible avec le dernier SDK Android.

Vous pouvez mettre à jour votre plate-forme Android incompatible actuelle avec cordova platform update [email protected]

Ou vous pouvez supprimer la plate-forme existante et ajouter la nouvelle (supprimera toute modification manuelle que vous avez effectuée dans le yourProject/platforms/android/dossier)

cordova platform rm android cordova platform add [email protected]

Vous devez spécifier la version car la CLI actuelle installe 6.1.x par défaut.

Ancienne réponse:

Malheureusement, les outils SDK Android 25.3.1 ont cassé cordova-android 6.1.x

Pour ceux qui ne veulent pas rétrograder les outils du SDK, vous pouvez installer cordova-android depuis github url car la plupart des problèmes sont déjà résolus sur la branche principale.

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

jcesarmobile
la source
7
La version est désormais disponible dans les référentiels npm, bien qu'elle ne semble pas encore être utilisée automatiquement. cordova platform add [email protected]fonctionne, cependant.
Jules
3
@chrjs cordova platform add [email protected]est sûr à utiliser maintenant, vous n'avez pas besoin d'ajouter la version de github et elle pourrait être instable, mieux utiliser 6.2.3 comme c'est la dernière version publiée
jcesarmobile
1
Je suis sur Cordova 7.0.1 et je reçois l'erreur: Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.un conseil?
Ethan Keller
1
@EthanKeller, mais avez-vous déjà ajouté la plateforme Android? Si tel est le cas, supprimez-le et cordova platform rm androidajoutez-lecordova platform add android
jcesarmobile
1
Pourquoi pas juste android@latest?
Seanny123
56

(Fondamentalement, ce que @ user3464070 a déjà dit)

Pour 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
code de base
la source
1
La première ligne pourrait être cd $ANDROID_HOMEpour la simplicité?
toxaq
1
@toxaq pourrait être mais $ANDROID_HOMEn'est pas défini sur ma machine.
code de base
2
Merci beaucoup. vos commandes + en utilisant [email protected] fonctionnent comme un charme sur mac!
David Dal Busco
43
  1. Si vous avez installé Android Studio sur votre système, copiez le dossier des modèles depuis C:\Program Files\Android\Android Studio\plugins\android\lib\templates
  2. Collez-le dans le dossier C:\Users\<user-name>\AppData\Local\Android\sdk\tools
  3. Exécutez la commande: ionic build android

Tous les fichiers jar nécessaires seront téléchargés et un fichier apk pour l'application sera généré.

Remarque: définissez les variables d'environnement sur C:\Users\<user-name>\AppData\Local\Android\sdk\tools. Définissez également le nom d'utilisateur sur votre nom d'utilisateur actuel.

vinayb21
la source
1
Solution simple et facile!
Jari Pekkala
1
Il s'agit d'une solution simple et économique pour ceux qui ont Android Studio.
Johnson
1
en fait, cela a fonctionné pour moi ... quand d'autres solutions n'ont pas fonctionné. Dommage qu'il semble surtout dépendre des versions studio cordova / ionic / sdk / android
Kaddath
1
À partir de 2018 et en travaillant avec 2 versions différentes de Cordova, je peux garantir que cette solution fonctionne et n'a pas besoin de téléchargements supplémentaires.
ravemir
26

Pour Linux, il existe même une solution un peu meilleure.

Accédez à https://developer.android.com/studio/index.html#downloads

et téléchargez le fichier zip des outils de ligne de commande (bas de la page) pour linux. Extrayez-les dans votre dossier .... / Android / Sdk / afin de remplacer / étendre votre dossier d'outils. Maintenant, tout fonctionne bien.

user3464070
la source
Oui, RJ a répondu à la solution de contournement de Windows pour le problème, et votre réponse est la solution Linux. Utile pour quelqu'un qui ne sait pas comment résoudre Windows ' C:\Users\username\AppData\Local\Android\sdk\toolsà Ubuntu/home/user/Android/Sdk
rbenvenuto
@rbenvenuto Les réponses sont fondamentalement les mêmes. Téléchargez les outils, extrayez le dossier zip et enregistrez le contenu extrait dans le dossier d'outils de votre idk. Peut-il être difficile de comprendre? J'utilise un Mac et j'économiserai dans ~ / Library / Android / sdk / tools Dois-je voler les votes de quelqu'un pour expliquer la même chose avec des mots différents?
iOSAndroidWindowsMobileAppsDev
4
@Anon Yep, je ne peux pas nier que sa réponse était à peu près la même explication avec des mots différents. Mais je peux y voir une certaine valeur pour les débutants en difficulté comme moi lol
rbenvenuto
les versions précédentes ne sont plus disponibles sur developer.android.com
Ferdinand.kraft
21

Pour tous ceux qui ont toujours ce problème, cela a fonctionné pour moi:

    cordova platform update android@latest

puis construisez et il téléchargera automatiquement la dernière version de gradle et devrait fonctionner

Mans
la source
2
+1 Cela fonctionne comme @ août 2017 et vous met à jour [email protected]. Les réponses plus anciennes peuvent ou peuvent ne plus fonctionner ou être correctes. Cette situation ne cesse de changer et est directement causée par la suppression du support du SDK Android 25.3.1 pour le binaire Android, comme décrit ici: cordova.apache.org/announcements/2017/04/05/…
JK.
1
Fonctionne toujours en mars 2018. Je ne crée pas souvent de nouveaux projets cordova, c'est le premier depuis mon commentaire précédent. Il a eu la même could not find gradle wrappererreur. J'ai dû à nouveau rechercher la solution sur SO. Il s'agit d'un correctif par projet, doit être appliqué à chaque nouveau projet cordova que vous créez. Je voterais deux fois si je le pouvais, c'est la deuxième fois que cette réponse me sauve maintenant.
JK.
14

Il n'est pas nécessaire de rétrograder les outils Android. Sous Windows, Gradle est passé de:

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

à:

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

Il vous suffit donc d'ajuster votre chemin afin qu'il pointe vers le bon dossier.

herve
la source
6
J'ai fait le contraire, en déplaçant le wrapper vers mon AppData et cela fonctionne très bien! Merci ^ _ ^
Nicolas_LeBot
Copiez le contenu du dossier d'emballage de ce chemin C: \ Program Files \ Android \ Android Studio \ plugins \ Android \ lib \ templates \ gradle \ wrapper C: / Android / Sdk / tools / templates / gradle / emballage
inspiredMichael
9

si vous avez cette erreur lorsque vous ionic run android --device

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

Je viens de tout copier de l'installation typique d'Android Studio. De: D: \ sw \ dev \ android \ studio \ plugins \ android \ lib \ templates

(le répertoire complet des modèles)

À:

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

Testé avec la construction ionique android

AlexGera
la source
C'était la solution dans mon cas. Après cette solution, vous pourriez obtenir le message de licence. Voir stackoverflow.com/questions/40383323/…
JonathanRomer
6

Ce problème se produit lorsque vous n'avez pas le wrapper gradle dans vos outils SDK.

Comme indiqué dans les réponses précédentes, vous pouvez mettre à jour vers la dernière cordova-androidversion (cela fonctionne), mais si vous voulez continuer à travailler avec [email protected]et [email protected], copiez simplement le dossier depuis 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

Dans mon cas, j'utilise le cordova-plugin-fcmet il a été testé avec l'ancienne version de cordova-android, donc je ne peux pas l'utiliser [email protected](pas encore).

Bruno Agutoli
la source
5

Pour Linux, créez simplement un lien symbolique, comme ceci:

ln -s /android/android-studio/plugins/android/lib/templates /android/sdk/tools/templates
Mac
la source
N'a pas testé la solution de lien symbolique, mais sur mon système /opt/android-studio/plugins/android/lib/templates/gradle/wrapper/gradlewn'a aucune autorisation d'exécution. Assurez-vous de le modifier avant d'essayer.
Ferdinand.kraft
Je n'ai pas de modèle / dossier sous sdk/tools.
PlayHardGoPro
5

Sur linux (Ubuntu dans mon cas), installez simplement gradle:

sudo apt-get install gradle

Edit: Il semble que le repo ubuntu ne possède que le grade 2.10, pour les versions plus récentes: https://www.vultr.com/docs/how-to-install-gradle-on-ubuntu-16-10

Mawcel
la source
1
Aucune des solutions ci-dessus n'a fonctionné pour moi. J'utilise la dernière version de cordova 7.0.1. L'installation de gradle depuis ubuntu repo a résolu le problème. Son 2017 et toujours cordova ne sait pas utiliser le gradle intégré du studio Android
sziraqui
3

Récemment, j'ai également rencontré un problème similaire, et après cela, cela fonctionne:

J'ai édité le fichier dans /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

Autres informations (juste au cas où):

Pas tout à fait sûr m2repository partie, dans le premier essai, il passe le grandle mais il y a une autre erreur (gradlew-command-failed-with-exit-code-

  1. Je vérifie si dans Android Studio le référentiel est actif, et il n'est pas actif, j'essaye de l'activer, et quand je le réessaye (Cordova build Android), il télécharge quelques autres fichiers, peut-être depuis le référentiel? Et puis quand je supprime le chemin, cela fonctionne toujours. (également grâce à l'échantillon de Marcin Orlowski pour que je puisse mieux comprendre le chemin d'exportation).

J'utilise:

  • Linux Mint Serena
  • nœud: v6.10.3
  • npm: 3.10.10
  • Cordova: 7.0.0
  • Android Studio: 2.3.1
  • Outils de plateforme Android SDK: 25.0.5
  • Outils SDK Android: 26.0.2

J'espère que cela peut aider toute personne qui pourrait avoir le même problème que le mien et en a besoin aussi.

Merci

Abdul Muhit
la source
2

Aucune des solutions n'a fonctionné pour moi à ce jour. Ma situation était que j'avais mis à jour mon studio Android. La chose la plus populaire pour remplacer le dossier tools par le dernier ne fonctionnerait pas pour moi. Enfait n'est pas nécessaire dans certains cas.

npm update -g cordova a fait l'affaire pour moi.

Ensuite, j'ai supprimé la plate-forme et l'ai ajoutée à nouveau.

ionic platform remove android

ionic platform add android

Cela fonctionne pour moi dans Ionic. Je suis sûr cordova platform remove/add androidqu'il fera la même chose. Non testé cependant.

Travailler encore!

kushalvm
la source
2

Après avoir tout essayé ici deux fois dans un ordre différent, j'ai tout réinstallé et avant de le faire, cordova platform add androidje suis allé templates/gradleet j'ai couru gradlew.bat. Après cela, j'ai pu ajouter la plate-forme Android sans aucun problème.

L'avocat du diable
la source
0

Courir:

cordova platform update [email protected]

Et assurez-vous que la réfrence variable de l'environnement Android Studio et Android Studio au même emplacement.

Je corrige cela en copiant Android Studio à partir de:

D:\Program Files\Android

à

C:\Program Files\Android
Avihai Cohen
la source
0

Après la mise à niveau de cordova vers 7.0.x, le chemin de gradle a été modifié comme indiqué ci-dessus. Pour le faire fonctionner avant la sortie du correctif officiel, installez simplement manuellement le gradle et placez-le dans votre environnement.

  1. Allez sur https://gradle.org/install téléchargez les packages binaires
  2. Décompressez-le, souvenez-vous du chemin, par exemple., Mon à: E: \ Gradle
  3. Définissez les variables d'environnement, comme sous Windows, ajoutez E: \ Gradle \ bin

C'est tout.

Peter.Wang
la source
0

Après avoir rencontré le même problème, renommez simplement le nom du package dans config.xml, attribut id avec un nom sans "-" à l'intérieur ...

c'est à dire

com.web-projet.appname

renommé en:

com.webprojet.appname

et tout était correct ...

Si ça aide.

Jean-Luc Aubert
la source
0

L'installation de Cordova version 5.0 m'aide:

npm install -g [email protected]
fvukovic
la source
0

J'utilise Ubuntu 16.04 et pour moi, cela a fonctionné en utilisant simplement deux commandes: -

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

Solution simple et simple pour MAC

Mon problème était

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

Solution

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 build android fonctionne à nouveau maintenant !!!

Jeril Kuruvila
la source
1
Expliquez-vous cela? Pourquoi ça arrive?
wilfredonoyola