Fehler: Gradle Wrapper konnte im Android SDK nicht gefunden werden. Möglicherweise müssen Sie Ihr Android SDK - Android aktualisieren


199

Ich weiß, dass es viele ähnliche Fragen gibt, aber ich konnte in keiner dieser Fragen eine Lösung finden. Außerdem werde ich Details für meinen speziellen Fall bereitstellen.

Ich habe ein Ionic-Projekt in Ubuntu 16.04 LTS codiert und muss es jetzt für die Veröffentlichung erstellen. Also führe ich den Befehl aus:

cordova build --release android

Und mir wird der folgende Fehler angezeigt:

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
  • Ich habe dieses templates/gradle/wrapperVerzeichnis nicht.
  • Mein Android Studio ist 2.3, die neueste Version für jetzt
  • Android SDK Platform-Tools 25.0.3
  • Android SDK Tools 25.3.1
  • Alle Android-Versionen von 2.1 (Eclair) bis 7.1.1 (Nougat)

Nach umfangreichen Recherchen habe ich alle Android Studio-bezogenen Umgebungsvariablen in die Datei eingefügt /etc/environment. Jetzt sieht es so aus:

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

Um die Umgebungsvariablen zu testen, führe ich jetzt die folgenden Befehle aus:

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

Und alle Pfadvariablen werden korrekt angezeigt.

Es sieht also so aus, als ob die Umgebungsvariablen den verschiedenen ähnlichen Fragen entsprechen und in Tutorials, die ich gesucht habe. Weiß jemand, was ich falsch mache? Warum erhalte ich immer noch den Gradle Wrapper-Fehler?

Antworten:


246

Ich habe gerade das gleiche Problem erlebt.

Dies kann eine Okklusion in den Anweisungen zum Installieren (oder Aktualisieren) von Android Studio mit allen SDK-Tools sein, die Sie und ich verpasst haben, oder möglicherweise ein Fehler, der durch eine neue Version von Studio verursacht wurde, die nicht den gleichen Dateikonventionen wie die folgt ältere Versionen. Ich neige zu Letzterem, da viele der SO-Beiträge zu diesem Thema auf ANDROID_PATH mit einem Ordner namens android-sdk zu verweisen scheinen, der in der neuesten Version (2.3.0.8) nicht enthalten ist.

Es scheint jedoch eine Problemumgehung zu geben , die ich gerade an meinem Computer arbeiten musste. Folgendes habe ich getan:

  • Laden Sie tools_r25.2.3-windows.zip von Android Downloads herunter .
  • Extrahierter Reißverschluss auf dem Desktop
  • Ersetzt C: \ Benutzer \ Benutzername \ AppData \ Local \ Android \ sdk \ tools durch extrahierte Unterordner-Tools /
  • Im Projektordner:

    $ cordova Plattformen entfernen Android
    $ Cordova Plattformen hinzufügen Android

Möglicherweise müssen Sie auch das Entfernen der node_modules in Android erzwingen. Hoffentlich hilft das.


1
THX, ich bin in dem gleichen Phänomen gefangen und habe jetzt meine Umgebung durch Ihr Mittel wiederhergestellt. Ich denke, es ist die Schuld von Google, daher sollten Cordova-Entwickler auf das nächste, korrigierte Update warten.
HirofumiTamori

1
Hatte genau das gleiche Problem. "Android SDK Tools" 25.2.3 wurde herabgestuft, wodurch das Problem behoben wurde. Wir sollten wahrscheinlich auf das Update vom Google / Android-Team warten.
Gregor

3
Nur den Werkzeugordner zu ersetzen, hat mir geholfen. Musste die Plattform nicht entfernen und hinzufügen.
Vahissan

16
Sehr nützlich, für Mac können Sie dasselbe tun, außer zum Herunterladen von Tools für Windows, die Sie von Mac unter folgender Adresse herunterladen: dl.google.com/android/repository/tools_r25.2.3-macosx.zip
O. Edholm

14
Auf die Originaldatei kann direkt hier zugegriffen werden: dl.google.com/android/repository/…
Devil's Advocate

254

Edit 3:

Cordova Android 6.2.2 wurde veröffentlicht und ist vollständig kompatibel mit den SDK-Tools 26.0.x und 25.3.1. Verwenden Sie diese Version:

cordova platform update android@6.2.2

oder

cordova platform rm android
cordova platform add android@6.2.2

Bearbeiten 2:

Es gab eine weitere Version der Android SDK-Tools (26.0.x), die nicht vollständig mit Cordova-Android 6.2.1 kompatibel ist.

Bearbeiten: Cordova Android 6.2.1 wurde veröffentlicht und ist jetzt mit dem neuesten Android SDK kompatibel.

Sie können Ihre aktuelle inkompatible Android-Plattform mit aktualisieren cordova platform update android@6.2.1

Oder Sie können die vorhandene Plattform entfernen und die neue hinzufügen (löscht alle manuellen Änderungen, die Sie im yourProject/platforms/android/Ordner vorgenommen haben).

cordova platform rm android cordova platform add android@6.2.1

Sie müssen die Version angeben, da die aktuelle CLI standardmäßig 6.1.x installiert.

Alte Antwort:

Leider haben Android SDK Tools 25.3.1 Cordova-Android 6.1.x kaputt gemacht

Für diejenigen, die die SDK-Tools nicht herunterstufen möchten, können Sie Cordova-Android über die Github-URL installieren, da die meisten Probleme bereits im Hauptzweig behoben sind.

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


7
Die Version ist jetzt in den npm-Repositories verfügbar, obwohl sie noch nicht automatisch verwendet zu werden scheint. cordova platform add android@6.2.0funktioniert aber.
Jules

3
@chrjs cordova platform add android@6.2.3ist jetzt sicher zu verwenden, Sie müssen keine Github-Version hinzufügen und es könnte instabil sein. Verwenden Sie besser 6.2.3, wie es die neueste Version ist
jcesarmobile

1
Ich bin auf Cordova 7.0.1 und erhalte die Fehlermeldung: Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.Irgendwelche Ratschläge?
Ethan Keller

1
@EthanKeller aber hattest du schon mal die android plattform hinzugefügt? Wenn dies der Fall ist, entfernen Sie es und cordova platform rm androidfügen Sie es hinzucordova platform add android
jcesarmobile

1
Warum nicht einfach android@latest?
Seanny123

56

(Grundsätzlich was @ user3464070 bereits gesagt hat)

Für 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
Erste Zeile könnte der cd $ANDROID_HOMEEinfachheit halber sein?
Toxaq

1
@toxaq könnte sein, $ANDROID_HOMEist aber auf meinem Computer nicht definiert.
Basecode

2
vielen Dank. Ihre Befehle + mit android@6.1.2 funktionieren wie ein Zauber auf dem Mac!
David Dal Busco

43
  1. Wenn Sie Android Studio auf Ihrem System installiert haben, kopieren Sie den Vorlagenordner aus C:\Program Files\Android\Android Studio\plugins\android\lib\templates
  2. Fügen Sie es in den Ordner ein C:\Users\<user-name>\AppData\Local\Android\sdk\tools
  3. Führen Sie den folgenden Befehl aus: ionic build android

Alle erforderlichen JAR-Dateien werden heruntergeladen und eine APK-Datei für die Anwendung generiert.

Hinweis: Setzen Sie Umgebungsvariablen auf C:\Users\<user-name>\AppData\Local\Android\sdk\tools. Setzen Sie den Benutzernamen auch auf Ihren aktuellen Benutzernamen.


1
Einfache und einfache Lösung!
Jari Pekkala

1
Dies ist eine einfache und wirtschaftliche Lösung für Benutzer von Android Studio.
Johnson

1
Es hat tatsächlich bei mir funktioniert, als andere Lösungen es nicht taten. Schade, dass es hauptsächlich von Cordova / Ionic / SDK / Android Studio-Versionen
abhängt

1
Ab 2018 und mit 2 verschiedenen Versionen von Cordova kann ich für diese Lösung bürgen, die funktioniert und keine zusätzlichen Downloads benötigt.
Ravemir

26

Für Linux gibt es noch eine etwas bessere Lösung.

Navigieren Sie zu https://developer.android.com/studio/index.html#downloads

und laden Sie die Zip-Datei der Befehlszeilentools (unten auf der Seite) für Linux herunter. Extrahieren Sie sie in Ihren Ordner .... / Android / Sdk /, damit Sie Ihren Tools-Ordner überschreiben / erweitern. Jetzt funktioniert alles gut.


Ja, RJ hat die Windows-Problemumgehung für das Problem beantwortet, und Ihre Antwort ist die Linux-Lösung. Nützlich für jemanden, der nicht weiß, wie man Windows ' C:\Users\username\AppData\Local\Android\sdk\toolszu Ubuntus /home/user/Android/Sdk
löst

@rbenvenuto Die Antworten sind grundsätzlich gleich. Laden Sie Tools herunter, extrahieren Sie den Zip-Ordner und speichern Sie den extrahierten Inhalt im Tools-Ordner Ihres IDK. Wie schwer kann es sein zu verstehen? Ich verwende einen Mac und speichere in ~ / Library / Android / sdk / tools. Muss ich jemandem die Stimmen stehlen, um dasselbe mit anderen Worten zu erklären?
iOSAndroidWindowsMobileAppsDev

4
@Anon Yep, kann nicht leugnen, dass seine Antwort so ziemlich die gleiche Erklärung mit verschiedenen Worten war. Aber ich kann einen gewissen Wert darin sehen,
wenn

frühere Versionen sind nicht mehr verfügbar in developer.android.com
Ferdinand.kraft

21

Für alle, die dieses Problem noch haben, hat dies bei mir funktioniert:

    cordova platform update android@latest

dann bauen und es wird automatisch die neueste Gradle-Version herunterladen und sollte funktionieren


2
+1 Dies funktioniert als @ August 2017 und aktualisiert Sie auf cordova-android@6.2.3. Ältere Antworten funktionieren möglicherweise nicht mehr oder sind nicht mehr korrekt. Diese Situation ändert sich ständig und wird direkt dadurch verursacht, dass Android SDK 25.3.1 die Unterstützung für die Android-Binärdatei einstellt
JK.

1
Ich arbeite immer noch wie im März 2018. Ich erstelle nicht oft neue Cordova-Projekte. Dies ist das erste Mal seit meinem vorherigen Kommentar. Es hatte den gleichen could not find gradle wrapperFehler. Ich musste die Lösung auf SO erneut nachschlagen. Dies ist ein Pro-Projekt-Fix, der auf jedes neue Cordova-Projekt angewendet werden muss, das Sie erstellen. Würde zweimal upvoten, wenn ich könnte, dies ist das 2. Mal, dass diese Antwort mich jetzt gerettet hat.
JK.

14

Android Tools müssen nicht heruntergestuft werden. Unter Windows wechselte Gradle von:

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

zu:

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

Sie müssen also nur Ihren Pfad so anpassen, dass er auf den richtigen Ordner zeigt.


6
Ich habe das Gegenteil getan und den Wrapper auf meine AppData verschoben, und es funktioniert einwandfrei! Danke ^ _ ^
Nicolas_LeBot


Kopieren Sie den Inhalt des Wrapper-Ordners von diesem Pfad C: \ Programme \ Android \ Android Studio \ Plugins \ android \ lib \ templates \ gradle \ wrapper nach C: / Android / Sdk / tools / templates / gradle / wrapper
inspiriertMichael

9

wenn Sie diesen Fehler haben, wenn Sie ionic run android --device

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

7

Kopierte einfach alles von der typischen Android Studio-Installation. Von: D: \ sw \ dev \ android \ studio \ plugins \ android \ lib \ templates

(das gesamte Vorlagenverzeichnis)

Zu:

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

Getestet mit ionischem Build Android


Dies war die Lösung in meinem Fall. Nach dieser Lösung erhalten Sie möglicherweise die Lizenzmeldung. Siehe stackoverflow.com/questions/40383323/…
JonathanRomer

6

Dieses Problem tritt auf, wenn Sie den Gradle-Wrapper nicht in Ihren SDK-Tools haben.

Wie in den vorherigen Antworten erwähnt, können Sie auf die letzte cordova-androidVersion aktualisieren (es funktioniert), aber wenn Sie weiter mit cordova-cli@6.4.0und arbeiten möchten cordova-android@6.0.0, kopieren Sie einfach den Ordner von 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

In meinem Fall verwende ich das cordova-plugin-fcmund es wurde mit der alten Version von Cordova-Android getestet, daher kann ich es nicht verwenden cordova-android@2.x(noch nicht).


5

Für Linux erstellen Sie einfach einen Symlink wie folgt:

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

Die Symlink-Lösung wurde nicht getestet, aber auf meinem System /opt/android-studio/plugins/android/lib/templates/gradle/wrapper/gradlewist keine Ausführungsberechtigung vorhanden. Stellen Sie sicher, dass Sie es ändern, bevor Sie es versuchen.
Ferdinand.kraft

Ich habe keine Vorlage / Ordner unter sdk/tools.
PlayHardGoPro

5

Unter Linux (in meinem Fall Ubuntu) installieren Sie einfach gradle:

sudo apt-get install gradle

Bearbeiten: Es scheint, als ob Ubuntu Repo nur Gradle 2.10 hat, für neuere Versionen: https://www.vultr.com/docs/how-to-install-gradle-on-ubuntu-16-10


1
Keine der oben genannten Lösungen hat bei mir funktioniert. Ich verwende die neueste Version von Cordova 7.0.1. Die Installation von gradle von ubuntu repo hat das Problem behoben. Seine 2017 und noch Cordova weiß nicht, um Android Studio eingebauten Gradle zu verwenden
Sziraqui

3

Erst kürzlich bin ich auf ein ähnliches Problem gestoßen, und nachdem ich dies getan habe, funktioniert es:

Ich habe die Datei in bearbeitet /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

Weitere Informationen (nur für den Fall):

Nicht ganz sicher über m2repositoryTeil, im ersten Versuch passiert es den Grandle, aber es gibt einen anderen Fehler (gradlew-Befehl-fehlgeschlagen-mit-Exit-Code-

  1. Ich überprüfe, ob in Android Studio das Repository aktiv ist und es nicht aktiv ist. Ich versuche es zu aktivieren. Wenn ich es erneut versuche (Cordova Build Android), lädt es ein paar andere Dateien herunter, möglicherweise aus dem Repository. Und wenn ich dann den Pfad lösche, funktioniert es immer noch. (auch dank Marcin Orlowski Beispiel, damit ich den Exportpfad besser verstehen kann).

Ich benutze:

  • Linux Mint Serena
  • Knoten: v6.10.3
  • npm: 3.10.10
  • Cordova: 7.0.0
  • Android Studio: 2.3.1
  • Android SDK Plattform-Tools: 25.0.5
  • Android SDK-Tools: 26.0.2

Ich hoffe, es kann jedem helfen, der das gleiche Problem wie ich hat und dies auch braucht.

Vielen Dank




2

Keine der Lösungen hat bis heute für mich funktioniert. Meine Situation war, dass ich mein Android Studio aktualisiert habe. Das beliebteste, um den Werkzeugordner durch den neuesten zu ersetzen, würde für mich nicht funktionieren. Infact ist in einigen Fällen nicht erforderlich.

npm update -g cordova hat den Trick für mich gemacht.

Dann entfernte ich die Plattform und fügte sie erneut hinzu.

ionic platform remove android

ionic platform add android

Das funktioniert bei mir in Ionic. Ich bin sicher, cordova platform remove/add androiddass ich das Gleiche tun werde. Nicht getestet.

Arbeite wieder !


2

Nachdem ich hier zweimal alles in unterschiedlicher Reihenfolge ausprobiert hatte, installierte ich alles neu und ging vorher cordova platform add androidzu templates/gradleund rannte los gradlew.bat. Nachdem dies abgeschlossen war, konnte ich die Android-Plattform problemlos hinzufügen.


1

Das hat es für mich gelöst:

cordova platform update android@6.1.2

0

Lauf:

cordova platform update android@6.1.2

Stellen Sie außerdem sicher, dass sich die Umgebungsvariablen für Android Studio und Android Studio auf denselben Speicherort beziehen.

Ich behebe dies, indem ich Android Studio kopiere von:

D:\Program Files\Android

zu

C:\Program Files\Android

0

Nach dem Cordova-Upgrade auf 7.0.x wurde der Gradle-Pfad wie oben beschrieben geändert. Damit es funktioniert, bevor das offizielle Update veröffentlicht wird, installieren Sie den Gradle einfach manuell und stellen Sie ihn in Ihrer Umgebung ein.

  1. Gehen Sie zu https://gradle.org/install und laden Sie die Binärpakete herunter
  2. Entpacke es, erinnere dich an den Pfad, z. B. meinen unter: E: \ Gradle
  3. Legen Sie die Umgebungsvariablen wie unter Windows hinzu und fügen Sie E: \ Gradle \ bin hinzu

Das ist es.


0

Nachdem das gleiche Problem aufgetreten ist, benennen Sie einfach den Paketnamen in config.xml um, Attribut-ID mit einem Namen ohne "-" in ...

dh

com.web-projet.appname

umbenannt in:

com.webprojet.appname

und alles war richtig ...

Wenn es hilft.


0

Die Installation von Cordova Version 5.0 hilft mir:

npm install -g cordova@5.0

0

Ich benutze Ubuntu 16.04 und für mich funktionierte es mit nur zwei Befehlen: -

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

-1

Einfache und einfache Lösung für MAC

Mein Problem war

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

Lösung

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 funktioniert jetzt wieder !!!


1
Erklärst du das? Warum passieren?
Wilfredonoyola
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.