ionic build Android | Fehler: Keine installierten Build-Tools gefunden. Bitte installieren Sie die Android Build Tools


92

Wenn ich den Befehl ionic build android im Stammverzeichnis von ionic project ausführe , wird folgende Fehlermeldung angezeigt:

FAILURE: Build mit einer Ausnahme fehlgeschlagen.

  • Wo: Skript '/home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle' Zeile: 64

  • Was schief gelaufen ist: Bei der Bewertung des Root-Projekts 'android' ist ein Problem aufgetreten.

    Keine installierten Build-Tools gefunden. Bitte installieren Sie die Android Build Tools Version 19.1.0 oder höher.

  • Versuchen Sie: Führen Sie die Option --stacktrace aus, um den Stack-Trace abzurufen. Führen Sie die Option --info oder --debug aus, um mehr Protokollausgabe zu erhalten.

javad@javad:~/Desktop/javadApp$ ionic build android
Running command: /home/javad/Desktop/javadApp/hooks/after_prepare/010_add_platform_class.js /home/javad/Desktop/javadApp
add to body class: platform-android
Running command: /home/javad/Desktop/javadApp/platforms/android/cordova/build 
ANDROID_HOME=/opt/android-sdk
JAVA_HOME=/usr/lib/jvm/default-java
Running: /home/javad/Desktop/javadApp/platforms/android/gradlew cdvBuildDebug -b /home/javad/Desktop/javadApp/platforms/android/build.gradle -Dorg.gradle.daemon=true

FAILURE: Build failed with an exception.

* Where:
Script '/home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle' line: 64

* What went wrong:
A problem occurred evaluating root project 'android'.
> No installed build tools found. Please install the Android build tools version 19.1.0 or higher.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 1.564 secs

/home/javad/Desktop/javadApp/platforms/android/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
Error code 1 for command: /home/javad/Desktop/javadApp/platforms/android/gradlew with args: cdvBuildDebug,-b,/home/javad/Desktop/javadApp/platforms/android/build.gradle,-Dorg.gradle.daemon=true
ERROR building one of the platforms: Error: /home/javad/Desktop/javadApp/platforms/android/cordova/build: Command failed with exit code 8
You may not have the required environment or OS to build this project
Error: /home/javad/Desktop/javadApp/platforms/android/cordova/build: Command failed with exit code 8
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:134:23)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:743:16)
    at Process.ChildProcess._handle.onexit (child_process.js:810:5)

in ~ / .profile habe ich:

export PATH = $ PATH: / opt / android-sdk / tools

export PATH = $ PATH: / opt / android-sdk / platform-tools

export PATH = $ PATH: / opt / node / bin

exportiere JAVA_HOME = / usr / lib / jvm / default-java

export ANDROID_HOME = / opt / android-sdk

$ PATH ist:

/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games: / opt / android-sdk / tools : / opt / android-sdk / Plattform-Tools: / opt / node / bin

Wichtiger Punkt:

in der Datei: /home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle | Zeile 38 :

String[] getAvailableBuildTools() {
    def buildToolsDir = new File(getAndroidSdkDir(), "build-tools")
    buildToolsDir.list()
        .findAll { it ==~ /[0-9.]+/ }
        .sort { a, b -> compareVersions(b, a) }
}

gerade zurückgegeben / opt / android-sdk / build-tools !!!

im Ordner / opt / android-sdk / build-tools habe ich:

android-5.1- Ordner, der extrahiert wird aus: https://dl.google.com/android/repository/build-tools_r22-linux.zip


Antworten:


50

Ich behebe dies, indem ich das SDK-Paket namens Platform-Tools und Buid-Tools mit herunterlade sdkmanager. Sie können sdkmanager.exe verwenden oder, wenn Sie SDK CLI verwenden , ~\AppData\Local\Android\sdk\tools\bindiesen Befehl aufrufen und ausführen:

sdkmanager "platform-tools" "platforms;android-26"

oder

sdkmanager "build-tools;27.0.3"

oder beides

Danach solltest du laufen können ionic cordova run androidoder ionic build android.

Hinweis: sdkmanagerBefehl globalize durch Hinzufügen von ~\AppData\Local\Android\sdk\toolsund ~\AppData\Local\Android\sdk\tools\binzu Ihrer Umgebungsvariablen.


2
Vergessen Sie nicht, cmd als Administrator auszuführen, um Fehler zu vermeiden. Ich sah Warnung: "Fehler beim Lesen oder Erstellen der Installations-Eigenschaftendatei" Fehler
neustart47

Vielen Dank, dies war ein wesentlicher Schritt für mich im Erstellungsprozess.
BarryMode

Terminal im Ordner bin geöffnet: sagt sdkmanager: Befehl nicht gefunden
MJ Montes

@ LasLemieux Bitte überprüfen Sie, ob Sie die SDK-CLI ordnungsgemäß installiert haben. Wenn Sie Windows verwenden, sollte eine Datei mit dem Namen sdkmanage.exe vorhanden sein.
Fadhil

39

Wenn ich diese drei Befehle ausführe, wird das Problem auf meinem Mac behoben:

export ANDROID_HOME=~/Library/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools

Zum leichteren Kopieren hier einzeilig

export ANDROID_HOME=~/Library/Android/sdk && export PATH=${PATH}:${ANDROID_HOME}/tools && export PATH=${PATH}:${ANDROID_HOME}/platform-tools

Dauerhaft hinzufügen

Folge diesen Schritten:

  1. Öffnen Sie die Datei .bash_profile in Ihrem Home-Verzeichnis (z. B. /Users/your-user-name/.bash_profile) in einem Texteditor.
  2. Fügen Sie export PATH="The above exports here"in der letzten Zeile der Datei hinzu, wobei your-dir das Verzeichnis ist, das Sie hinzufügen möchten.
  3. Speichern Sie die Datei .bash_profile.
  4. Starten Sie Ihr Terminal neu

Hinzufügen zum Bash-Prozess für verschiedene Systeme


3
Dies hilft mir jedes Mal, aber sobald ich das Terminal schließe oder den Mac neu starte, muss ich dies erneut tun
Forza

Das hat bei mir funktioniert. @Forza Wenn Sie es zu Ihrem ~ / .bash_profile hinzufügen, funktioniert es jedes Mal.
Caden311

Ich habe diese PATH-Unterverzeichnisse fälschlicherweise an meine Variable ANDROID_HOME angehängt. Sobald ich das aufgeräumt habe, hat es funktioniert!
Umbyersw

Wie stellen Sie sicher, dass Sie den Befehl nicht jedes Mal neu ausführen müssen, wenn Sie das Terminal neu starten?
Ross Rawlins

Ich habe es versucht, aber es bleibt, ich muss es jedes Mal tun, wenn ich das Terminal öffne.
Ross Rawlins

29

Ihnen fehlen Android SDK-Tools. Bitte versuche folgendes:

android list sdk --all
android update sdk -u -a -t <package no.>

Wo <package no.>ist 1,2,3,nund

-u (--no-ui)  # Headless mode
-a (--all)    # Includes all packages (also obsolete ones)
-t (--filter) # Filter by package index

6
Es warf michFilter 19 not supported
Atul Agrawal

2
Update 2018: Verwendung -t android-27für Version 27 usw.
andersand

21

Da der Fehler "Keine installierten Build-Tools gefunden" lautet , bedeutet dies, dass

1: Es wurden wirklich wirklich keine Build-Tools gefunden

2: Damit er Build-Tools findet, müssen Sie diese Pfade korrekt definieren

Der Pfad ist für UBUNTU (.bashrc) und MAC (.bash_profile) gleich.

export ANDROID_HOME=/Users/vijay/Software/android-sdk-macosx
export PATH=${PATH}:/Users/vijay/Software/android-sdk-macosx/tools
export PATH=${PATH}:/Users/vijay/Software/android-sdk-macosx/platform-tools

3: WICHTIG WICHTIG Sobald Sie Umgebungsvariablen festlegen, müssen Sie die Umgebungsvariablen neu laden.

//For ubuntu
$source .bashrc 

//For macos
$source .bash_profile

4: Dann das Terminal einchecken

$printenv ANDROID_HOME
$printenv PATH

Hinweis: Wenn Sie Ihre Änderungen in printenv nicht gefunden haben, starten Sie den PC neu und versuchen Sie es erneut mit printenv PATH, printenv ANDROID_HOME. Es gibt auch einen Befehl zum erneuten Laden von Umgebungsvariablen.

4: Öffnen Sie dann das Terminal und schreiben Sie den HALBTEXT '$ and' und drücken Sie die Tabulatortaste. Wenn Sie auf die Registerkarte klicken, sollte der vollständige Name "$ android" angezeigt werden. Dadurch wird überprüft, ob alle Pfade korrekt sind

5: Schreibe $ android in das Terminal und drücke die Eingabetaste


18

Bitte installieren Sie die Android Build Tools Version 19.1.0 oder höher.

Die folgenden Befehle können das Android SDK unter Ubuntu schnell aktualisieren und den obigen Fehler beheben:

android list sdk --all
android update sdk -u -a -t 19
android update sdk -u -a -t 20

6
Filter 19 und Filter 20 werden nicht unterstützt
Skizo-ozᴉʞS

1
gleiche hier @ Skizo-ozᴉʞS
Bhimashankar Mantur

17

Ich behebe den Fehler, indem ich ANDROID_HOME aus dem falschen vorherigen Verzeichnis in C: \ Users \ Gebru \ AppData \ Local \ Android \ Sdk ändere .


Das hat bei mir funktioniert. Ich hatte nicht ANDROID_HOMEgesetzt und Cordova nahm an, /usr/lib/android-sdkdass es falsch war
hughjdavey

Ich habe das gleiche, außer dass ich vor / Sdk angehalten habe. Scheint etwas falsch mit dieser Linie bricht es
Low

6

Ich weiß, dass dies nicht verwandt aussieht, insbesondere angesichts der Fehlermeldung, aber ich habe dies behoben, indem ich eine neuere Version der Android SDK Build-Tools installiert habe.


6

In meinem Fall wurde die Enviroument-Variable ANDROID_HOME auf ein falsches (altes) Verzeichnis verwiesen. Ich habe neu zugewiesen, um eine zu korrigieren. In meinem Fall

ANDROID_HOME = F: \ Programme (x86) \ Android \ android-sdk


1
Danke war es, ich hatte es auf Android Studio hingewiesen, das woanders vorgeschlagen wurde.
Jcubic

5

Für mich war das Problem, dass ANDROID_HOME auf einen alten Android SDK-Pfad zeigte. Nach der Installation von Android Studio musste ich ~ / .bash_profile für MAC (El Capitan) entsprechend aktualisieren.

export ANDROID_HOME = "/ Users / corneliusparkin / Library / Android / sdk"

Denken Sie daran, das Terminal neu zu starten oder diesen Befehl auszuführen, nachdem Sie ~ / .bash_profile aktualisiert haben

Quelle ~ / .bash_profile


5

FÜR FENSTER: Ich habe mich dieser Art von Problem gestellt. Aber nach dem Erkunden löste es sich in meinem Fall. Ich benutze Fenster 10. Befolgen Sie einfach die folgenden Schritte:

  1. Laden Sie den Android SKD Manager für Windows herunter. https://developer.android.com/studio am Ende dieser Seite. Es ist eine Zip-Datei. Nach dem Extrahieren wird das Tools-Verzeichnis angezeigt.

  2. Gehen Sie zu Laufwerk C: \ Neuen Ordner 'android-sdk' erstellen. Kopieren Sie den Tools-Ordner und die Vergangenheit in
    C: \ android-sdk

  3. Öffnen Sie die Eingabeaufforderung als Administrator. Gehen Sie zu CD "c: \ android-sdk \ tools \ bin". sdkmanager wird hier gezeigt. Geben Sie skdmanager ein, es wird wie folgt angezeigt: [======================================] 100 % Computing-Updates ...

  4. Nach diesem Typ "sdkmanager platform-tools" wird das Verzeichnis platform-tools in C: \ android-sdk erstellt

  5. Legen Sie nun die Systemumgebungsvariablen fest: Klicken Sie mit der rechten Maustaste auf PC-Eigenschaften auswählen. Die Systemeinstellungen werden angezeigt. Klicken Sie auf> Umgebungsvariablen. Umgebungsvariablen werden angezeigt.

  6. In diesem Fenster Systemvariablen wie folgt. C: \ android-sdk \ platform-tools und C: \ android-sdk \ tools \ bin

  7. Befehl zum Erstellen von Tools ausführen sdkmanager "build-tools; 27.0.3"

    Stellen Sie außerdem sicher, dass der Java-Pfad definiert ist. Ich hoffe es wird das Problem lösen.


In Punkt Nr. 3 Sie haben Rechtschreibfehler "skdmanager" Es sollte seinsdkmanager
Santosh

4

2018

The "android" command is deprecated.

Versuchen

sdkmanager "build-tools;27.0.3"

Diese Arbeit für mich, wie #Fadhil sagte


3

Geben Sie android in Ihre Befehlszeile ein und installieren Sie "Android SDK Build-tools"


2
In meinem Fall hattest du recht. Ich habe vergessen, die Android SDK Build-Tools über den SDK-Manager zu installieren. Vielen Dank!
Tuchi35

2

Ich suche dieses Problem seit Tagen .... Ich hoffe, es wird nützlich sein

SCHLUSSLÖSUNG: (Ich gehe davon aus, dass Sie Oracle-JDK und ANDROID installiert haben.)

Öffnen Sie / etc / environment mit

 sudo nano /etc/environment


PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/shoniisra/Android/Sdk/tools:/home/shoniisra/Android/Sdk/platform-tools:/home/shoniisra/Android/Sdk/build-tools:/home/shoniisra/Android/Sdk:/home/shoniisra/android-studio/bin"
JAVA_HOME="/home/shoniisra/java/jdk1.8.0_231"
ANDROID_HOME="/home/shoniisra/Android/Sdk/build-tools/29.0.2"
ANDROID_SDK_ROOT="/home/shoniisra/Android/Sdk"
ANT_HOME="/home/shoniisra/ant/apache-ant-1.9.14"

Speichern und beenden (STRG + o STRG + X)

Datei neu laden source /etc/environment

Wenn Sie kürzlich Android installiert haben, sollten Sie einige Lizenzen akzeptieren

cd ~/Android/Sdk/tools/bin/

SDKmanager ausführen:

./sdkmanager --licenses

Akzeptieren Sie dann alle und generieren Sie schließlich Ihre APK

cd {yourproyect}
sudo ionic cordova build android

1

In meinem Fall war das Problem, dass ANDROID_HOME ~/Library/Android/aus irgendeinem Grund darauf zeigte. Der richtige Weg ist~/Library/Android/sdk


0

Das funktioniert bei mir! Seien Sie vorsichtig mit den neuen Java-Versionen, da diese Fehler verursachen. Überprüfen Sie, ob Sie alles installiert haben und sich in Ihrem spezifischen Verzeichnis befinden.

Ich habe openJDK nicht verwendet

export JAVA_HOME="/usr/lib/jvm/java-8-jdk" \
&& export PATH=$JAVA_HOME/bin:$PATH \
&& export ANDROID_HOME=$HOME/Android/Sdk \
&& export PATH=${PATH}:${ANDROID_HOME}/tools \
&& export PATH=${PATH}:${ANDROID_HOME}/platform-tools \
&& export GRADLE_HOME=/usr/share/java/gradle/bin/gradle \
export PATH=$PATH:$GRADLE_HOME/bin

Linux 4.14.39-1-MANJARO # 1 SMP PREEMPT Mi 2. Mai 19:03:39 UTC 2018 x86_64 GNU / Linux

siehe den Screenshot in meiner Shell


0

Ich habe <preference name="android-minSdkVersion" value="19" /> zu meiner conf.xmlund der Build erfolgreich war.


0

Die Lösung für diese Frage finden Sie hier https://docops.ca.com/devtest-solutions/8-0-2/de/installing/setting-up-the-mobile-testing-environment/preinstallation-steps-for-mobile -testen/

Bitte befolgen Sie diese Schritte und lösen Sie Ihr Problem.

Das Android SDK-Paket enthält eine Komponente namens Compile Tools. Der mobile Test erfordert mindestens Version 19.0.1, 19.1.0 oder 20.0.0.

Wenn diese Versionen nicht mit Ihrem ADT-Paket installiert sind, wird beim Erstellen eines mobilen Assets auf der DevTest Workstation möglicherweise eine Fehlermeldung angezeigt:


0

Mac IOS

Bearbeiten Sie ~ / .bash_profile mit vi oder einem anderen Shell-Editor

vi ~/.bash_profile

Fügen Sie die folgenden Zeilen hinzu:

export ANDROID_HOME=~/Library/Android/sdk
export PATH=${PATH}:~/Software/android-sdk-macosx/tools:~/Software/android-sdk-macosx/platform-tools"

(Speichern Sie die Datei und beenden Sie sie.) Laden Sie diese aktualisierten env-Variablen in die aktuelle Shell-env:

. ~/.bash_profile
  • Wenn Sie aus irgendeinem Grund eine alte Version der Build-Tools haben, können Sie diese im Android Development Studio aktualisieren:
  • Konfigurieren -> SDK Manager -> wählen Sie "Android SDK Build-Tools"
  • Überprüfen Sie die "Paketdetails anzeigen"
  • Überprüfen Sie die Versionen dieses Pakets und aktualisieren Sie sie bei Bedarf

0

Nun, viele Leute geben ihre Antwort, einige Antworten sind gleich, andere sind unterschiedlich. Ich versuche viele Antworten, aber sie haben bei mir nicht funktioniert, natürlich versuche ich auch von oben zu antworten, habe aber mein Problem nicht gelöst. Und ich weiß nicht warum, aber ich habe den gleichen Fehler, auch wenn mein Problem durch diese ANTWORT gelöst wurde . Ich möchte nur schreiben, dass es für jemanden hilfreich sein könnte.



0

Ich habe dieses Problem durch folgende Schritte gelöst:

  1. Gehen Sie zur Datei cordova.gradle (Plattform / android / cordovaLib / cordova.gradle)
  2. Suchen Sie nach der Methode getAndroidSdkDir ()
  3. Ersetzen Sie jetzt einfach System.getenv ("ANDROID_HOME") durch Ihren echten Android SDK-Pfad

0

Öffnen Sie die Eingabeaufforderung. Überprüfen Sie den Pfad ANDROID_HOME mit SET ANDROID_HOME. Wenn nicht festgelegt, setzen Sie ihn mit dem folgenden Befehl.

 SET ANDROID_HOME="C:\Users\VenkateshMogili\AppData\Local\Android\Sdk"

ODER Öffnen Sie Systemumgebungsvariablen und erstellen Sie eine neue Variable als

 Variable Name: ANDROID_HOME
 Variable Value: C:\Users\VenkateshMogili\AppData\Local\Android\Sdk

Öffnen Sie die Datei cordova.gradle ( /platforms/android/CordovaLib/cordova.gradle ), suchen Sie nach der Methode getAndroidSdkDir () und ersetzen Sie stattdessen den Pfad ANDROID_HOME ( "C: / Users / VenkateshMogili / AppData / Local / Android / Sdk" ) System.getenv ("ANDROID_HOME")

Wenn ein Lizenzproblem auftritt, geben Sie den folgenden Befehl ein, indem Sie die Eingabeaufforderung unter C: \ Users \ VenkateshMogili \ AppData \ Local \ Android \ Sdk \ tools \ bin öffnen

  sdkmanager "build-tools;27.0.3"  //<-that will create build-tools folder and licenses folder.

Für mich geht das.


Wird in der fünften Zeile des Protokoll-OP nicht bereits angezeigt, dass ANDROID_HOME(auf /opt/android-sdk) gesetzt ist?
LWChris

Sobald Sie in Ihrem Home-Verzeichnis eingecheckt haben, kann es meistens in Home / Home / Benutzername / Android / SDK vorhanden sein. Versuchen Sie, dies festzulegen, wenn es gefunden wird. Fügen Sie die folgende Zeile am Ende der .bashrc-Datei (im Ausgangsverzeichnis) ein. export ANDROID_HOME = $ HOME / Android / Sdk
VenkateshMogili

0

Warnung für Entwickler, die virtuelle Maschinen verwenden

Ich habe sehr lange versucht, dieses Problem zu beheben. Ich habe alles in diesem Beitrag und viele weitere Lösungen im Web ausprobiert. Nach vielen Fehlern und dem, was alle im Web sagten, konnte ich das Problem auf meiner VM - einem Windows 10-Image auf VMWare Workstation - immer noch nicht beheben.

Nachdem ich alle Lösungen und Beschreibungen von Maschinen / Betriebssystemen überprüft hatte, entwickelten die Leute den krassen Unterschied in meinem Setup, den ich in einer VM entwickelte.

Lösung: Ich habe meinen gesamten Code auf den Host-Computer (Windows 10-Betriebssystem) gezogen, alle Abhängigkeiten neu installiert und sicher, dass alles zuerst geklappt hat. Nach vielen Recherchen habe ich einige Warnungen gefunden, dass Android Studio einige bekannte Probleme bei der ordnungsgemäßen Installation auf einigen VMs hat. Wenn Sie also wie ich waren und alle Lösungen ausprobiert haben (viele Male) und nichts funktioniert hat, aber Sie sich in einer VM befinden, müssen Sie möglicherweise in Betracht ziehen, auf Ihrem Host (oder einer anderen physischen Maschine) aufzubauen.


0

Dieses Problem habe ich mit dem folgenden Detail gelöst, irgendwie hat das Android SDK-Management alle Abhängigkeiten und notwendigen Dateien installiert, aber vergiss diese `templates`Dateien, in denen sich Vorlagen> Gradle> Wrapper befinden. Dieser Satz von Dateien fehlt.

Bildschirmfoto

Pfad in Mac /Users/giogio/Library/Android/sdk/tools/templates


-1

Gehen Sie zu D: Android SDK \ Android SDK und klicken Sie auf SDK Manager. Überprüfen Sie, ob Build Tools installiert sind oder nicht, wenn sie nicht installiert sind, und installieren Sie diese Tools


-1
This is very irritating error and i wasted my almost 9 hours to solve this.

Steps to solve:

Notice **ANDROID_HOME** while you run **ionic cordova build android** . command i. for example in my case it was pointing to some other android sdk which i uninstalled and then it started pointing to right sdk.
**In my case i uninstalled :**

brew cask uninstall android-sdk
brew cask uninstall android-platform-tool


then i ran **ionic cordova build android**

> cordova build android
ANDROID_HOME=/Users/anand/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home


Then it might say lineces not accepted then run below command :

cd /Users/Android/sdk/tools/bin/
then run ./sdkmanager --licenses
accepts all with y option


Then it might say unable to download jars then go to platform android and build.gradle

and search for buildscript and inside that reverse the order 


repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }

Thats it . Enjoy huh
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.