Wiem, że jest wiele pytań podobnych do tego, ale w żadnym z nich nie znalazłem rozwiązania mojego problemu. Poza tym przedstawię szczegóły dotyczące mojej konkretnej sprawy.
Kodowałem projekt Ionic w Ubuntu 16.04 LTS, a teraz muszę go zbudować do wydania. Więc uruchamiam polecenie:
cordova build --release android
I pojawia się następujący błąd:
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
- Nie mam tego
templates/gradle/wrapper
katalogu. - Moje Android Studio to 2.3, najnowsza wersja na razie
- Android SDK Platform-Tools 25.0.3
- Narzędzia Android SDK 25.3.1
- Wszystkie wersje Androida od 2.1 (Eclair) do 7.1.1 (Nougat)
Po szeroko zakrojonych badaniach umieściłem w pliku wszystkie zmienne środowiskowe związane z Android Studio /etc/environment
. Teraz wygląda to tak:
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
Teraz, w celu przetestowania zmiennych środowiskowych, uruchamiam następujące polecenia:
source /etc/environment
echo $PATH
echo $ANDROID_HOME
echo $JAVA_HOME
echo $GRADLE_HOME
Wszystkie zmienne ścieżki są poprawnie wyświetlane.
Wygląda więc na to, że zmienne środowiskowe powinny wyglądać tak, jak powinny, zgodnie z różnymi podobnymi pytaniami i samouczkami, które przeszukałem. Czy ktoś wie, co robię źle? Dlaczego nadal pojawia się błąd Gradle Wrapper?
źródło
Edycja 3:
Cordova Android 6.2.2 został wydany i jest w pełni kompatybilny z narzędziami SDK 26.0.xi 25.3.1. Użyj tej wersji:
cordova platform update [email protected]
lub
Edycja 2:
Pojawiła się kolejna wersja narzędzi Android SDK (26.0.x), która nie jest w pełni kompatybilna z cordova-android 6.2.1.
Edycja: Cordova Android 6.2.1 został wydany i jest teraz zgodny z najnowszym zestawem Android SDK.
Możesz zaktualizować swoją obecną niekompatybilną platformę Android
cordova platform update [email protected]
Możesz też usunąć istniejącą platformę i dodać nową (usunie wszelkie ręczne zmiany wprowadzone w
yourProject/platforms/android/
folderze)cordova platform rm android cordova platform add [email protected]
Musisz określić wersję, ponieważ bieżący interfejs CLI domyślnie instaluje wersję 6.1.x.
Stara odpowiedź:
Niestety narzędzia Android SDK 25.3.1 złamały Cordova-Android 6.1.x
Dla tych, którzy nie chcą obniżyć wersji narzędzi SDK, możesz zainstalować cordova-android z github url, ponieważ większość problemów jest już naprawiona w gałęzi master.
cordova platform add https://github.com/apache/cordova-android
źródło
cordova platform add [email protected]
działa jednak.cordova platform add [email protected]
jest bezpieczny w użyciu, nie musisz dodawać wersji github i może być niestabilny, lepiej korzystać z 6.2.3, podobnie jak najnowsza wersjaError: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.
jakaś rada?cordova platform rm android
dodaj go ponowniecordova platform add android
android@latest
?(Zasadniczo to, co powiedział @ user3464070)
Dla Maca:
źródło
cd $ANDROID_HOME
dla uproszczenia?$ANDROID_HOME
nie jest zdefiniowane na moim komputerze.C:\Program Files\Android\Android Studio\plugins\android\lib\templates
C:\Users\<user-name>\AppData\Local\Android\sdk\tools
ionic build android
Wszystkie niezbędne pliki jar zostaną pobrane i zostanie wygenerowany plik apk dla aplikacji.
Uwaga: Ustaw zmienne środowiskowe na
C:\Users\<user-name>\AppData\Local\Android\sdk\tools
. Ustaw także nazwę użytkownika na swoją bieżącą nazwę użytkownika.źródło
W przypadku Linuksa istnieje jeszcze trochę lepsze rozwiązanie.
Przejdź do https://developer.android.com/studio/index.html#downloads
i pobierz plik zip narzędzi wiersza poleceń (dół strony) dla systemu Linux. Wyodrębnij je do folderu .... / Android / Sdk /, aby zastąpić / rozszerzyć folder narzędzi. Teraz wszystko działa dobrze.
źródło
C:\Users\username\AppData\Local\Android\sdk\tools
na Ubuntu/home/user/Android/Sdk
Dla każdego, kto nadal ma ten problem, zadziałało to dla mnie:
następnie skompiluj, a automatycznie pobierze najnowszą wersję stopni i powinna działać
źródło
[email protected]
. Starsze odpowiedzi mogą, ale nie muszą, działać poprawnie. Ta sytuacja ciągle się zmienia i jest bezpośrednio spowodowana przez rezygnację z pakietu Android SDK 25.3.1 dla binarnego Androida, jak opisano tutaj: cordova.apache.org/announcements/2017/04/05/…could not find gradle wrapper
błąd. Musiałem ponownie poszukać rozwiązania na SO. Jest to poprawka dla każdego projektu, którą należy zastosować do każdego nowego projektu Cordova, który tworzysz. Głosowałbym dwa razy, gdybym mógł, to drugi raz, kiedy ta odpowiedź mnie ocaliła.Nie ma potrzeby obniżania wersji Narzędzi Android. W systemie Windows Gradle przeniósł się z:
do:
Musisz więc tylko dostosować swoją ścieżkę, aby wskazywała właściwy folder.
źródło
jeśli masz ten błąd, kiedy
ionic run android --device
źródło
Właśnie skopiowałem wszystko z typowej instalacji Android Studio. Od: D: \ sw \ dev \ android \ studio \ plugins \ android \ lib \ templates
(cały katalog szablonów)
Do:
D: \ sw \ dev \ android \ sdk \ tools
Testowany z systemem Android w wersji jonowej
źródło
Ten problem występuje, gdy nie masz opakowania stopni w narzędziach SDK.
Tak jak w poprzednich odpowiedziach, możesz zaktualizować do ostatniej
cordova-android
wersji (działa), ale jeśli chcesz nadal pracować z[email protected]
i[email protected]
, po prostu skopiuj folder z Android Studio np .;W moim przypadku używam
cordova-plugin-fcm
i został przetestowany ze starą wersją Cordova-android, więc nie mogę go używać[email protected]
(jeszcze nie).źródło
W przypadku systemu Linux po prostu utwórz dowiązanie symboliczne, takie jak to:
źródło
/opt/android-studio/plugins/android/lib/templates/gradle/wrapper/gradlew
nie ma uprawnień do wykonywania. Upewnij się, aby chmod to przed próbą.sdk/tools
.Na Linuksie (w moim przypadku Ubuntu) po prostu zainstaluj gradle:
sudo apt-get install gradle
Edycja: Wygląda na to, że repo ubuntu ma tylko klasę 2.10, dla nowszych wersji: https://www.vultr.com/docs/how-to-install-gradle-on-ubuntu-16-10
źródło
Niedawno napotkałem również podobny problem, a po wykonaniu tej czynności działa:
Edytowałem plik w
/etc/profile
Inne informacje (na wszelki wypadek):
Nie do końca pewny co do
m2repository
części, za pierwszym razem przechodzi on przez grandle, ale pojawia się kolejny błąd (gradlew-command-failed-with-exit-code-Używam:
Mam nadzieję, że może pomóc każdemu, kto może mieć taki sam problem jak mój i też tego potrzebuje.
Dzięki
źródło
To rozwiązało mój problem.
Właśnie pobrałem https://dl.google.com/android/repository/tools_r25.2.5-macosx.zip214 i zastąpię folder narzędzi w ~ / Library / Android / sdk / tools
źródło
Nie trzeba aktualizować SDK. Spróbuj zainstalować go ręcznie. Postępuj zgodnie z instrukcjami w tym linku
https://gradle.org/install
źródło
Żadne z rozwiązań nie działało dla mnie na dzień dzisiejszy. Moja sytuacja była taka, że zaktualizowałem moje studio Androida. Najpopularniejsza rzecz, aby zastąpić folder narzędzi najnowszym, nie działałaby dla mnie. W niektórych przypadkach infact nie jest wymagany.
npm update -g cordova
zrobił dla mnie lewę.Następnie usunąłem platformę i dodałem ją ponownie.
ionic platform remove android
ionic platform add android
To działa dla mnie w Ionic. jestem pewien
cordova platform remove/add android
że zrobię to samo. Jednak nie przetestowane.Znów działa !
źródło
Po wypróbowaniu wszystkiego tutaj dwa razy w innej kolejności, przeinstalowałem wszystko i zanim to
cordova platform add android
zrobiłem, poszedłemtemplates/gradle
i pobiegłemgradlew.bat
. Po zakończeniu udało mi się bez problemu dodać platformę Android.źródło
To rozwiązało dla mnie:
źródło
Biegać:
I upewnij się, że zmienne środowiskowe Android Studio i Android Studio odnoszą się do tej samej lokalizacji.
Naprawiam to, kopiując Android Studio z:
do
źródło
Po aktualizacji Cordova do wersji 7.0.x ścieżka stopni została zmieniona, jak omówiono powyżej. Aby uruchomić go przed opublikowaniem oficjalnej poprawki, po prostu ręcznie zainstaluj gradę i ustaw go w swoim środowisku.
Otóż to.
źródło
Po napotkaniu tego samego problemu wystarczy zmienić nazwę pakietu w config.xml, identyfikator atrybutu o nazwie bez „-” wewnątrz ...
to znaczy
com.web-projet.appname
przemianowany na:
com.webprojet.appname
i wszystko było w porządku ...
Jeśli to pomoże.
źródło
Zainstalowanie Cordova w wersji 5.0 pomaga mi:
źródło
Korzystam z Ubuntu 16.04 i dla mnie działało, używając tylko dwóch poleceń: -
źródło
Proste i proste rozwiązanie dla MAC
Mój problem był
Rozwiązanie
Cordova buduje Androida ponownie działa teraz !!!
źródło