ionic build Android | błąd: nie znaleziono zainstalowanych narzędzi do kompilacji. Zainstaluj narzędzia do kompilacji Androida


95

Kiedy uruchamiam polecenie ionic build android w katalogu głównym projektu ionic, pojawia się ten błąd:

BŁĄD: kompilacja nie powiodła się z wyjątkiem.

  • Gdzie: wiersz Script '/home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle': 64

  • Co poszło nie tak: wystąpił problem z oceną głównego projektu „android”.

    Nie znaleziono zainstalowanych narzędzi do kompilacji. Zainstaluj narzędzia do budowania systemu Android w wersji 19.1.0 lub nowszej.

  • Spróbuj: Uruchom z opcją --stacktrace, aby uzyskać ślad stosu. Uruchom z opcją --info lub --debug, aby uzyskać więcej danych wyjściowych dziennika.

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)

w ~ / .profile mam:

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

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

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

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

eksportuj ANDROID_HOME = / opt / android-sdk

$ PATH to:

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

Ważna kwestia:

w pliku: /home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle | wiersz 38 :

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

właśnie zwróciłem / opt / android-sdk / build-tools !!!

w folderze / opt / android-sdk / build-tools mam:

Folder android-5.1 wyodrębniany z: https://dl.google.com/android/repository/build-tools_r22-linux.zip


To dla mnie działa, sprawdź stackoverflow.com/questions/38660955/ ...
— vinod

Odpowiedzi:


54

Naprawiam to, pobierając pakiet sdk o nazwie platform-tools i buid-tools przy użyciu sdkmanager. Możesz użyć sdkmanager.exe lub, jeśli używasz SDK CLI , przejdź do ~\AppData\Local\Android\sdk\tools\bini uruchom to polecenie:

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

lub

sdkmanager "build-tools;27.0.3"

lub obydwa

Po tym powinieneś być w stanie uruchomić ionic cordova run androidlub ionic build android.

Uwaga: sdkmanagerpolecenie globalizuj , dodając ~\AppData\Local\Android\sdk\toolsi ~\AppData\Local\Android\sdk\tools\bindo zmiennej środowiskowej.


2
Nie zapomnij uruchomić cmd jako Administrator, aby uniknąć błędów.
— Napotkałem

Dziękuję, to był dla mnie ważny krok w procesie tworzenia.
— BarryMode

otwarty Terminal w folderze bin: mówi sdkmanager: command not found
— MJ Montes

@LasLemieux, sprawdź, czy poprawnie zainstalowałeś SDK CLI. Jeśli używasz systemu Windows, powinien istnieć plik o nazwie sdkmanage.exe.
— Fadhil

43

Dla mnie uruchomienie tych trzech poleceń rozwiązuje problem na moim Macu:

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

Dla ułatwienia kopiowania tutaj jest jedna linijka

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

Aby dodać na stałe

Wykonaj następujące kroki:

  1. Otwórz plik .bash_profile w swoim katalogu domowym (na przykład /Users/your-user-name/.bash_profile) w edytorze tekstu.
  2. Dodaj export PATH="The above exports here"do ostatniej linii pliku, gdzie twój-katalog to katalog, który chcesz dodać.
  3. Zapisz plik .bash_profile.
  4. Uruchom ponownie terminal

Dodawanie do procesu bash dla różnych systemów


3
To pomaga mi za każdym razem, ale jak tylko zamknę terminal lub ponownie uruchomię Maca, muszę to zrobić ponownie
— Forza

To zadziałało dla mnie. @Forza, jeśli dodasz go do swojego ~ / .bash_profile, będzie działać za każdym razem.
— caden311

Pomyłkowo dodałem te podkatalogi PATH do mojej zmiennej ANDROID_HOME. Kiedy to posprzątałem, zadziałało!
— umbyersw

Jak sprawić, by nie trzeba było ponownie uruchamiać polecenia za każdym razem, gdy ponownie uruchamiasz terminal?
— Ross Rawlins

Próbowałem, ale to się trzyma, muszę to robić za każdym razem, gdy otwieram terminal.
— Ross Rawlins

30

Brakuje narzędzi Android SDK. Spróbuj wykonać następujące czynności:

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

Gdzie <package no.>jest 1,2,3,ni

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

6
Rzuca mnieFilter 19 not supported
— Atul Agrawal

2
Aktualizacja 2018: użyj -t android-27dla wersji 27 itd.
— andersand

21

ponieważ komunikat o błędzie mówi „Nie znaleziono zainstalowanych narzędzi do kompilacji” , oznacza to

1: Naprawdę, naprawdę nie znaleziono narzędzi do budowania

2: Aby zmusić go do znalezienia narzędzi do budowania, musisz poprawnie zdefiniować te ścieżki

ŚCIEŻKA JEST TAKA SAMA DLA UBUNTU (.bashrc) I MAC (.bash_profile)

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: WAŻNE WAŻNE Gdy tylko ustawisz zmienne środowiskowe, musisz ponownie załadować zmienne środowiskowe.

//For ubuntu
$source .bashrc 

//For macos
$source .bash_profile

4: Następnie sprawdź w terminalu

$printenv ANDROID_HOME
$printenv PATH

Uwaga: jeśli nie znalazłeś zmian w printenv, zrestartuj komputer i spróbuj ponownie printenv PATH, printenv ANDROID_HOME. Istnieje również polecenie ponownego załadowania zmiennych środowiskowych.

4: następnie otwórz terminal i napisz PÓŁ TEKSTU '$ i' i naciśnij tabulator. Po kliknięciu zakładki powinieneś zobaczyć pełną nazwę '$ android'. To sprawdza, czy wszystkie ścieżki są poprawne

5: napisz $ androida w terminalu i naciśnij enter


18

Zainstaluj narzędzia do budowania systemu Android w wersji 19.1.0 lub nowszej.

Następujące polecenia mogą szybko zaktualizować Android SDK w systemie Ubuntu i naprawić powyższy błąd:

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

6
Filtr 19 i filtr 20 nie są obsługiwane
— Skizo-ozᴉʞS

1
to samo tutaj @ Skizo-ozᴉʞS
— Bhimashankar Mantur

17

Naprawię błąd, zmieniając ANDROID_HOME na C: \ Users \ Gebru \ AppData \ Local \ Android \ Sdk z niewłaściwego poprzedniego katalogu.


To zadziałało dla mnie. Nie miałem ANDROID_HOMEustawione i Cordova Zakłada to było na /usr/lib/android-sdkco było błędne
— hughjdavey

Mam to samo, tyle że zatrzymałem się przed / Sdk. Wydaje się, że coś jest nie tak z tą linią, która ją łamie
— Niski

6

Wiem, że to nie wygląda na powiązane, zwłaszcza biorąc pod uwagę komunikat o błędzie, ale naprawiłem to, instalując nowszą wersję narzędzi do tworzenia zestawu SDK systemu Android.


6

W moim przypadku zmienna środowiska ANDROID_HOME została wskazana w niewłaściwym (starym) katalogu. Przeniosłem się, aby poprawić jeden. W moim przypadku

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


1
Dzięki tak, wskazałem na android studio, które zostało zasugerowane gdzie indziej.
— jcubic

5

Dla mnie problem polegał na tym, że ANDROID_HOME wskazywał na starą ścieżkę Android SDK. Po zainstalowaniu Android Studio musiałem odpowiednio zaktualizować ~ / .bash_profile dla MAC (El Capitan)

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

Pamiętaj, aby ponownie uruchomić terminal lub uruchomić to polecenie po zaktualizowaniu ~ / .bash_profile

źródło ~ / .bash_profile


5

DLA WINDOW: miałem do czynienia z tego typu problemem. Ale po zbadaniu rozwiązało to w moim przypadku. Używam okna 10. wystarczy wykonać kilka poniższych kroków:

  1. pobierz Android SKD Manager dla systemu Windows. https://developer.android.com/studio na końcu tej strony. Jest to plik zip. po wypakowaniu pokaże katalog narzędzi.

  2. Idź na dysk C: \ utwórz nowy folder „android-sdk”. skopiuj folder narzędzi i wklej w
    C: \ android-sdk

  3. otwórz wiersz polecenia jako Administrator. Przejdź do folderu „c: \ android-sdk \ tools \ bin”. sdkmanager zostanie pokazany tutaj. wpisz skdmanager, będzie wyglądać tak: [=======================================] 100 % Obliczanie aktualizacji ...

  4. po tym typie "sdkmanager platform-tools" utworzy katalog platform-tools w C: \ android-sdk

  5. Teraz ustaw zmienne środowiskowe systemu: kliknij prawym przyciskiem myszy wybierz właściwości komputera. pojawią się ustawienia systemu. kliknij> Zmienne środowiskowe. Pojawią się zmienne środowiskowe.

  6. W tym oknie Zmienne systemowe, takie jak to. C: \ android-sdk \ platform-tools oraz C: \ android-sdk \ tools \ bin

  7. uruchom polecenie, aby zbudować narzędzia sdkmanager "build-tools; 27.0.3"

    Upewnij się również, że zdefiniowano ścieżkę java. Mam nadzieję, że to rozwiąże problem.


W punkcie nr. 3 masz błąd w pisowni „skdmanager”. Powinno byćsdkmanager
— Santosh

4

2018

The "android" command is deprecated.

próbować

sdkmanager "build-tools;27.0.3"

To działa dla mnie, jak powiedział #Fadhil


3

Wpisz android w wierszu poleceń i zainstaluj „Android SDK Build-tools”


2
W moim przypadku miałeś rację. Zapomniałem zainstalować narzędzia Android SDK Build z Menedżera SDK. Dzięki!
— tuchi35

2

Przeszukuję ten problem przez kilka dni ... Mam nadzieję, że okaże się przydatny

KOŃCOWE ROZWIĄZANIE: (Zakładam, że zainstalowałeś Oracle-JDK i ANDROID)

otwórz / etc / environment z

 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"

Zapisz i wyjdź (CTRL + o CTRL + X)

Wczytaj ponownie plik source /etc/environment

Jeśli niedawno zainstalowałeś Androida, powinieneś zaakceptować niektóre licencje

cd ~/Android/Sdk/tools/bin/

Uruchom sdkmanager:

./sdkmanager --licenses

Następnie zaakceptuj wszystko i na koniec wygeneruj pakiet APK

cd {yourproyect}
sudo ionic cordova build android

1

W moim przypadku problem polegał na tym, że ANDROID_HOME wskazywał z ~/Library/Android/jakiegoś powodu. Prawidłowa ścieżka to~/Library/Android/sdk


0

To działa dla mnie! uważaj na nowe wersje java, ponieważ powodują błędy, sprawdź, czy masz wszystko zainstalowane i w swoim określonym katalogu,

Nie korzystałem z openJDK

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 Wed 2 maja 19:03:39 UTC 2018 x86_64 GNU / Linux

zobacz zrzut ekranu w mojej powłoce


0

Dodałem <preference name="android-minSdkVersion" value="19" /> do mojego conf.xmli kompilacja się powiodła.


0

Rozwiązanie tego pytania znajduje się tutaj https://docops.ca.com/devtest-solutions/8-0-2/en/installing/setting-up-the-mobile-testing-environment/preinstallation-steps-for-mobile -testowanie /

Wykonaj poniższe czynności i rozwiąż problem.

Pakiet Android SDK zawiera składnik zwany narzędziami do kompilacji. Test mobilny wymaga co najmniej wersji 19.0.1, 19.1.0 lub 20.0.0.

Jeśli te wersje nie są zainstalowane wraz z pakietem ADT, może pojawić się komunikat o błędzie podczas tworzenia zasobu mobilnego na stacji roboczej DevTest:


0

Mac IOS

Edytuj ~ / .bash_profile używając vi lub innego edytora powłoki

vi ~/.bash_profile

Dodaj następujące wiersze:

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

(zapisz plik i wyjdź) załaduj te zaktualizowane zmienne env do bieżącej powłoki env:

. ~/.bash_profile
  • Jeśli z jakiegoś powodu masz starą wersję narzędzi do kompilacji, możesz je zaktualizować ze studia programistycznego Androida:
  • Skonfiguruj -> Menedżer SDK -> wybierz „Narzędzia do tworzenia zestawu SDK dla systemu Android
  • Zaznacz „Pokaż szczegóły pakietu”
  • przejrzyj wersje tego pakietu, zaktualizuj w razie potrzeby

0

Cóż, wiele osób udziela odpowiedzi, jedna odpowiedź jest taka sama, a inna inna. Próbuję wielu odpowiedzi, ale nie działają one dla mnie, oczywiście próbuję również z powyższej odpowiedzi, ale nie rozwiązały mojego problemu. I nie wiem dlaczego, ale mam ten sam błąd, nawet mój problem rozwiązany przez tę ODPOWIEDŹ . Chcę tylko napisać, że to może być pomocne dla kogoś.



0

Rozwiązałem ten problem, wykonując następujące czynności:

  1. Przejdź do pliku cordova.gradle (platforma / android / cordovaLib / cordova.gradle)
  2. Wyszukaj metodę getAndroidSdkDir ()
  3. Teraz po prostu zastąp System.getenv („ANDROID_HOME”) swoją prawdziwą ścieżką Android SDK

0

Otwórz Wiersz polecenia Sprawdź ścieżkę ANDROID_HOME za pomocą SET ANDROID_HOME, jeśli nie jest ustawiony, ustaw za pomocą poniższego polecenia.

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

LUB otwórz zmienne środowiskowe systemu i utwórz nową zmienną jako

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

i otwórz plik cordova.gradle ( /platforms/android/CordovaLib/cordova.gradle ) i wyszukaj metodę getAndroidSdkDir () i zamień ścieżkę ANDROID_HOME ( „C: / Users / VenkateshMogili / AppData / Local / Android / Sdk” ) zamiast System.getenv („ANDROID_HOME”)

Jeśli pojawi się problem z licencją, wpisz poniższe polecenie, otwierając wiersz polecenia w C: \ Users \ VenkateshMogili \ AppData \ Local \ Android \ Sdk \ tools \ bin

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

Mi to pasuje.


Czy piąty wiersz opublikowanego dziennika OP nie pokazuje już, że ANDROID_HOMEjest ustawiony (na /opt/android-sdk)?
— LWChris

Po sprawdzeniu w katalogu domowym może on znajdować się głównie w Home / home / username / Android / sdk. Spróbuj to ustawić, jeśli zostanie znaleziony. wklej poniższą linię na końcu pliku .bashrc (w katalogu domowym) eksportuj ANDROID_HOME = $ HOME / Android / Sdk
— VenkateshMogili

0

Ostrzeżenie dla programistów korzystających z maszyn wirtualnych

Spędziłem bardzo dużo czasu próbując rozwiązać ten problem. Wypróbowałem wszystko w tym poście i wiele innych rozwiązań w sieci. Jednak po wielu niepowodzeniach i przejrzeniu tego, co wszyscy w sieci mówili, nadal nie mogłem rozwiązać problemu na mojej maszynie wirtualnej - czyli obrazie systemu Windows 10 na VMWare Workstation.

Po przejrzeniu wszystkich rozwiązań i opisów maszyn / systemów operacyjnych, które ludzie opracowywali, dostrzegając rażącą różnicę w mojej konfiguracji, gdy tworzyłem maszynę wirtualną.

Rozwiązanie: ściągnąłem cały mój kod na maszynę hosta (system operacyjny Windows 10), ponownie zainstalowałem wszystkie zależności i upewniłem się, że wszystko się ułożyło. Po wielu badaniach znalazłem ostrzeżenia, że ​​Android Studio ma znane problemy związane z poprawną instalacją na niektórych maszynach wirtualnych. Więc jeśli byłeś podobny do mnie i wypróbowałeś wszystkie rozwiązania (wiele razy) i nic nie działało, ale jesteś na maszynie wirtualnej, być może będziesz musiał rozważyć zbudowanie na swoim hoście (lub innej fizycznej maszynie)


0

Ten problem rozwiązałem z następującymi szczegółami, jakoś Android SDK zarządza zainstalowaniem wszystkich zależności i niezbędnych plików, ale zapomnij o tych `templates`plikach, w których znajduje się szablony> gradle> opakowanie. Brakuje tego zestawu plików.

Zrzut ekranu

Ścieżka w mac /Users/giogio/Library/Android/sdk/tools/templates


0

Ten problem występuje również w przypadku uaktualnienia instalacji Cordova.

Sprawdź, czy błąd dziennika ma coś takiego:

Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=undefined (recommended setting) <-------------
ANDROID_HOME=/{path}/android-sdk-linux (DEPRECATED)
Using Android SDK: /usr/lib/android-sdk
Starting a Gradle Daemon (subsequent builds will be faster)

W takim przypadku po prostu zmień ANDROID_HOMEna ANDROID_SDK_ROOTw swoim ~/.bashrc lub podobnym pliku konfiguracyjnym.

Gdzie wcześniej było:

export ANDROID_HOME="/{path}/android-sdk-linux"

Teraz jest:

export ANDROID_SDK_ROOT="/{path}/android-sdk-linux"

Nie zapomnij o źródle: $ . ~/.bashrcpo edycji.


-1

Przejdź do D: Android sdk \ Android SDK i kliknij Menedżer SDK i sprawdź, czy są zainstalowane narzędzia kompilacji, jeśli nie są zainstalowane, a następnie zainstaluj te narzędzia


-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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.