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
Odpowiedzi:
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\bin
i 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 android
lubionic build android
.Uwaga:
sdkmanager
polecenie globalizuj , dodając~\AppData\Local\Android\sdk\tools
i~\AppData\Local\Android\sdk\tools\bin
do zmiennej środowiskowej.źródło
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:
export PATH="The above exports here"
do ostatniej linii pliku, gdzie twój-katalog to katalog, który chcesz dodać.Dodawanie do procesu bash dla różnych systemów
źródło
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.>
jest1,2,3,n
i-u (--no-ui) # Headless mode -a (--all) # Includes all packages (also obsolete ones) -t (--filter) # Filter by package index
źródło
Filter 19 not supported
-t android-27
dla wersji 27 itd.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
źródło
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
źródło
Naprawię błąd, zmieniając ANDROID_HOME na C: \ Users \ Gebru \ AppData \ Local \ Android \ Sdk z niewłaściwego poprzedniego katalogu.
źródło
ANDROID_HOME
ustawione i Cordova Zakłada to było na/usr/lib/android-sdk
co było błędneWiem, ż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.
źródło
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
źródło
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
źródło
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:
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.
Idź na dysk C: \ utwórz nowy folder „android-sdk”. skopiuj folder narzędzi i wklej w
C: \ android-sdk
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 ...
po tym typie "sdkmanager platform-tools" utworzy katalog platform-tools w C: \ android-sdk
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.
W tym oknie Zmienne systemowe, takie jak to. C: \ android-sdk \ platform-tools oraz C: \ android-sdk \ tools \ bin
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.
źródło
sdkmanager
2018
The "android" command is deprecated.
próbować
sdkmanager "build-tools;27.0.3"
To działa dla mnie, jak powiedział #Fadhil
źródło
Wpisz android w wierszu poleceń i zainstaluj „Android SDK Build-tools”
źródło
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
źródło
W moim przypadku problem polegał na tym, że ANDROID_HOME wskazywał z
~/Library/Android/
jakiegoś powodu. Prawidłowa ścieżka to~/Library/Android/sdk
źródło
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,
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
źródło
Dodałem
<preference name="android-minSdkVersion" value="19" />
do mojegoconf.xml
i kompilacja się powiodła.źródło
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:
źródło
Mac IOS
Edytuj ~ / .bash_profile używając vi lub innego edytora powłoki
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:
źródło
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ś.
źródło
Wypróbowałem wszystkie powyższe rozwiązania. Żadne nie działa. Dopóki nie zostałem powiązany z https://forum.ionicframework.com/t/ionic-v4-no-installed-build-tools-found/152150.
Najwyraźniej musisz uruchomić polecenie jako root. Sudo to za mało. Musisz zmienić na użytkownika root, zanim będziesz mógł uruchamiać wszystkie polecenia.
źródło
Rozwiązałem ten problem, wykonując następujące czynności:
źródło
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.
źródło
ANDROID_HOME
jest ustawiony (na/opt/android-sdk
)?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)
źródło
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.Ścieżka w mac
/Users/giogio/Library/Android/sdk/tools/templates
źródło
Ten problem występuje również w przypadku uaktualnienia instalacji Cordova.
Sprawdź, czy błąd dziennika ma coś takiego:
W takim przypadku po prostu zmień
ANDROID_HOME
naANDROID_SDK_ROOT
w 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:
$ . ~/.bashrc
po edycji.źródło
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
źródło
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
źródło