Je sais qu'il y a beaucoup de questions similaires à celle-ci, mais je n'ai pas pu trouver de solution à mon problème. En outre, je fournirai des détails pour mon cas spécifique.
J'ai codé un projet Ionic sous Ubuntu 16.04 LTS, et je dois maintenant le construire pour le publier. Alors je lance 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
templates/gradle/wrapper
.Après des recherches approfondies, j'ai mis toutes les variables d'environnement liées à Android Studio dans le fichier /etc/environment
. Alors maintenant, ça ressemble à ça:
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
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.
Alors, il semble que les variables d'environnement soient comme elles devraient l'être en fonction de différentes questions similaires et dans des tutoriels que j'ai consultés. Est-ce que quelqu'un sait ce que je fais mal? Pourquoi ai-je toujours l'erreur Gradle Wrapper?
Je viens de vivre le même problème.
Il peut s'agir d'une occlusion dans les instructions d'installation (ou de mise à niveau) d'Android Studio avec tous les outils du SDK que vous et moi avons manqués ou d'un bogue créé par une nouvelle version de Studio qui ne respecte pas les mêmes conventions de fichiers Versions plus anciennes. Je me penche vers ce dernier car beaucoup de les SO messages sur ce sujet semblent pointer vers un Android_PATH avec un dossier appelé Android-sdk qui ne figure pas dans la dernière version (2.3.0.8).
Il semble y avoir une solution de contournement cependant , que je viens de travailler sur ma machine. Voici ce que j'ai fait:
Dans le dossier du projet:
Les plateformes $ cordova suppriment Android
$ plates-formes cordova ajoutent Android
Vous devrez peut-être aussi forcer la suppression des node_modules dans Android . J'espère que cela vous aidera.
Edit 3:
Cordova Android 6.2.2 a été publié 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]
Edit 2:
Une autre version des outils du SDK Android (26.0.x) n’est pas entièrement compatible avec cordova-Android 6.2.1.
Edit: Cordova Android 6.2.1 a été publié 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 en ajouter une nouvelle (vous supprimerez toute modification manuelle apportée dans le dossier yourProject/platforms/Android/
).
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 du SDK Android 25.3.1 ont éclaté cordova-Android 6.1.x
Pour ceux qui ne souhaitent pas rétrograder les outils du SDK, vous pouvez installer cordova-Android à partir de l'URL github, car la plupart des problèmes sont déjà résolus sur la branche principale.
cordova platform add https://github.com/Apache/cordova-Android
(En gros, 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
C:\Program Files\Android\Android Studio\plugins\Android\lib\templates
.C:\Users\<user-name>\AppData\Local\Android\sdk\tools
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 nom d'utilisateur sur votre nom d'utilisateur actuel.
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 d'écraser/étendre votre dossier d'outils. Maintenant tout fonctionne bien.
Pour ceux qui ont toujours ce problème, cela a fonctionné pour moi:
cordova platform update Android@latest
puis construire et il téléchargera automatiquement la version la plus récente de gradle et devrait fonctionner
Il n'est pas nécessaire de rétrograder Android Tools . 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 pour qu’il pointe vers le bon dossier.
si vous avez cette erreur quand vous ionic run Android --device
## codova - Android update
npm install -g cordova
cordova platform update Android
Il suffit de copier le contenu d’une installation typique d’Android Studio. De.: D:\sw\dev.
(tout le répertoire des templates)
À:
D:\sw\dev\Android\sdk\tools
Testé avec Ionic build Android
Pour Linux, créez simplement un lien symbolique, comme ceci:
ln -s /Android/android-studio/plugins/Android/lib/templates /Android/sdk/tools/templates
Sur Linux (Ubuntu dans mon cas), installez simplement Gradle:
Sudo apt-get install gradle
Edit: Il semble que le référentiel ubuntu ne dispose que de la version 2.10, pour les versions plus récentes: https://www.vultr.com/docs/how-to-install-grad-on-ubuntu-16-10
Ce problème se produit lorsque vous n'avez pas le wrapper Gradle dans vos outils SDK.
Comme dans les réponses précédentes, vous pouvez mettre à jour la dernière version cordova-Android
(cela fonctionne), mais si vous souhaitez continuer à travailler avec [email protected]
et [email protected]
, copiez simplement le dossier à partir 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
Dans mon cas, j'utilise le cordova-plugin-fcm
et il a été testé avec l'ancienne version de cordova-Android. Je ne peux donc pas utiliser [email protected]
(toujours pas).
Récemment, j'ai également rencontré un problème similaire, et après l'avoir fait, 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 infos (juste au cas où):
Pas tout à fait sûr de la partie m2repository
, lors de la première tentative, il passera le grandle mais il y a une autre erreur (gradlew-command-failed-with-exit-code-
J'utilise:
J'espère que cela pourra aider toute personne qui pourrait avoir le même problème que le mien et en avoir aussi besoin.
Merci
Aucune des solutions ne fonctionnait pour moi à compter d'aujourd'hui. Ma situation était que j'ai mis à jour mon studio Android. La chose la plus populaire de remplacer le dossier des outils par le plus récent ne fonctionnerait pas pour moi. Enfait n'est pas nécessaire dans certains cas.
npm update -g cordova
a fait le tour pour moi.
Ensuite, j'ai retiré 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 que cordova platform remove/add Android
fera la même chose. Pas testé cependant.
Travailler encore!
Cela a résolu mon problème.
Je viens de télécharger https://dl.google.com/Android/repository/tools_r25.2.5-macosx.Zip214 et écraser le dossier des outils dans ~/Library/Android/sdk/tools
Pas besoin de mettre à jour SDK. Essayez de l’installer manuellement . Suivez les instructions dans ce lien
Après avoir tout essayé deux fois ici dans un ordre différent, j'ai tout réinstallé et avant de procéder à cordova platform add Android
, je suis passé à templates/gradle
et ai exécuté gradlew.bat
. Une fois cette opération terminée, j'ai pu ajouter la plate-forme Android sans problème.
L'installation de cordova version 5.0 m'aide à:
npm install -g [email protected]
Cela a résolu le problème pour moi:
cordova platform update [email protected]
Après la mise à niveau de cordova vers 7.0.x, le chemin de dégradé a été modifié comme indiqué ci-dessus. Pour que cela fonctionne avant la publication du correctif officiel, il vous suffit d'installer manuellement le dégradé et de le définir dans votre environnement.
C'est tout.
Après avoir rencontré le même problème, il suffit de renommer le nom du paquet 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.
J'utilise Ubuntu 16.04 et pour moi, cela a fonctionné en utilisant seulement deux commandes: -
ionic cordova platform rm Android
ionic cordova platform add [email protected]
Courir:
cordova platform update [email protected]
Et assurez-vous que l'environnement Android Studio et Android Studio varie au même endroit.
Je résous ce problème en copiant Android Studio à partir de:
D:\Program Files\Android
à
C:\Program Files\Android