Błąd: ANDROID_HOME nie jest ustawiony, a polecenia „android” nie ma w ŚCIEŻCE. Musisz spełnić co najmniej jeden z tych warunków.


240

Próbuję zainstalować PhoneGap i pojawia się następujący błąd:

Błąd: ANDROID_HOME nie jest ustawiony, a polecenia „android” nie ma w ŚCIEŻCE. Musisz spełnić co najmniej jeden z tych warunków.

Błąd (zrzut ekranu)

wprowadź opis zdjęcia tutaj

Co mam zrobić, aby upewnić się, że Android jest poprawnie skonfigurowany do użytku z Cordova?


1
ANDROID_HOME jest amortyzowany, teraz użyj ANDROID_SDK_ROOT. Aby uzyskać więcej informacji, postępuj zgodnie z tym stackoverflow.com/a/55508862/6190043
Saurabh Bhandari

Odpowiedzi:


369

Dla Windowsa:

ustaw ANDROID_HOME = C: \ lokalizacja instalacji \ android-sdk

ustaw PATH =% PATH%;% ANDROID_HOME% \ tools;% ANDROID_HOME% \ platform-tools

Zaczerpnięte z tego przewodnika instalacji .


33
jest poprawne. Ale na wszelki wypadek dla osób takich jak ja nie było to w 100% jasne, w oknie cmd z katalogu c: windows \ system32 \ projectname> wpisz powyższe polecenie set dla android_home. Na marginesie, kiedy pracowałem z Android Studio, moje zestawy SDK zostały domyślnie zainstalowane w następującej lokalizacji: C: \ Users \ <nazwa użytkownika> \ AppData \ Local \ Android \ android-sdk Krótko mówiąc w katalogu Cordova powyżej wpisz zestaw ANDROID_HOME = C: \ Users \ <nazwa użytkownika> \ AppData \ Local \ Android \ android-sdk - naciśnij enter, a następnie uruchom ponownie platformę Cordova, dodaj Androida, a pakiet i projekt zostaną utworzone.
natur3

1
Po prostu ustawienie ANDROID_HOME robi to dla mnie, dodatkowo musiałem upewnić się, że mam zainstalowany system Android 19.0, gdy próbowałem dodać platformę do projektu Android.
Abhijeet

22
Aby ustawić ANDROID_HOME na stałe Kliknij prawym przyciskiem Mój komputer> Właściwości> Zaawansowane ustawienia systemu> Zmienne środowiskowe> 1. Dodaj nazwę zmiennej systemowej = „ANDROID_HOME” wartość = „E: \ Users \ user \ AppData \ Local \ Android \ sdk” (Wpisz swój android sdk path tutaj) 2. Powyżej zmiennej systemowej możesz zobaczyć swoją ŚCIEŻKĘ, edytować ŚCIEŻKĘ "% ŚCIEŻKA%;% ANDROID_HOME% \ tools;% ANDROID_HOME% \ platforma-narzędzia" zapisać
Dibish

2
Może być konieczne zdobycie nowego CMD po ustawieniu ANT_HOME
Ruwantha

1
@Dibish to działało dla mnie. Jeśli dodajesz z GUI, pamiętaj, aby dodać Zmienne środowiskowe do Zmiennych systemowych, a nie Zmienne użytkownika.
peteb

82

W systemie Mac OS X:

export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Dla mnie moja <lokalizacja instalacji> to ~ / adt-bundle-mac-x86_64 / sdk, więc pierwszą komendą było export ANDROID_HOME=~/adt-bundle-mac-x86_64/sdk.
Svavar

1
dla mnie: eksport ŚCIEŻKA = $ {ŚCIEŻKA}: $ ANDROID_HOME / tools: $ ANDROID_HOME / tools /
AGDM

Czy potrzebujesz nawiasów klamrowych wokół „ŚCIEŻKI”, jak pokazano powyżej? Cześć, mam czas na skonfigurowanie mojego środowiska hybrydowego. Ale jestem nowy w Mac? Nie miałem problemów w systemie Windows: ale nadal kocham mojego nowego Maca!
rekordboy

45

Mam system Mac OS X Yosemite, Android Studio 1.0.1, JDK 1.8 i Cordova 4.1.2

Kiedy próbowałem dodać projekt Androida:

cordova platforms add android

Otrzymałem wiadomość: ANDROID_HOME nie jest ustawiony, a polecenia „android” nie ma w ŚCIEŻCE

Oparte na odpowiedzi cforcloud ... „Błąd: polecenie„ android ”nie powiodło się” przy użyciu cordova i http://developer.android.com/sdk/installing/index.html?pkg=studio użyłem następującego:

export ANDROID_HOME="/Users/<user_name>/Library/Android/sdk"
export ANDROID_TOOLS="/Users/<user_name>/Library/Android/sdk/tools/"
export ANDROID_PLATFORM_TOOLS="/Users/<user_name>/Library/Android/sdk/platform-tools/"
PATH=$PATH:$ANDROID_HOME:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLS
echo $PATH

Kiedy próbowałem utworzyć projekt Androida, otrzymałem ten komunikat:

Creating android project...
/Users/lg/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:126
                    throw e;
                          ^
Error: Please install Android target "android-19".

Uruchomiłem Android SDK Manager i zainstalowałem Androida 4.4.2 (API 19) (wszystko oprócz Glass Development Kit Preview). To zadziałało dla mnie.

===

To jest zawartość mojego pliku .bash_profile.

export PATH=$PATH:/usr/local/bin
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
launchctl setenv STUDIO_JDK /library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk
export ANDROID_HOME="/Users/<UserName>/Library/Android/sdk"
export ANDROID_TOOLS="/Users/<UserName>/Library/Android/sdk/tools"
export ANDROID_PLATFORM_TOOLS="/Users/<UserName>/Library/Android/sdk/platform-tools"
PATH=$PATH:$ANDROID_HOME:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLS

Aby edytować .bash_profile przy użyciu terminalu, używam nano. Łatwo to zrozumieć.

cd
nano .bash_profile

Mam nadzieję, że to pomoże.


Dzięki, to też działało dla mnie! Ale za każdym razem, gdy otwieram nowy terminal, muszę ustawić ŚCIEŻKĘ, czy istnieje sposób na ustawienie ŚCIEŻKI na stałe?
NBoymanns,

Dołącz ścieżkę do pliku .bash_profile. Dodałem instrukcje w poprzednim komentarzu.
lgm

Było to dla mnie bardzo jasne i działało dla mnie znacznie lepiej niż wszystkie inne odpowiedzi! Nie wiedziałem, gdzie znajdę SDK w moim systemie.
WillJones

@lgm, czy konieczne było dołączenie ANDROID_TOOLSi ADROID_PLATFORM_TOOLS?
Dev Yego,

36

dla Windowsa:

Kliknij Mój komputer prawym przyciskiem myszy -> właściwości -> Zaawansowane ustawienia systemu -> Zmienne środowiskowe Edytuj ścieżkę do zmiennych systemowych do; \ yourSdkHome \ tools; \ yourSdkHome \ platform-tools.

Następnie zamknij monit cmd i otwórz ponownie.

Otóż ​​to.


1
Jak możemy zaktualizować dokumentację dla Cordova? (zamiast przeskakiwać między instalacją a
Ran Davidovitz,

zwróć uwagę, że czasami twoja zmienna $ PATH jest dość nieuporządkowana i nie może być dłuższa niż 256 symboli, więc powinieneś używać pomocników
Medet Tleukabiluly

Przepraszam, nie rozumiem. Jak mogę korzystać z pomocników?
hash

Nie działa dla mnie? Moja lokalizacja zestawu SDK znajduje się na dysku E. Czy należy na dysku C?
Kartiikeya,

Idealnie, musiałem ponownie uruchomić komputer, aby działał, ale tak się stało.
mhcarneiro

33

W systemie Linux dodaj to na końcu pliku .bashrc, .profile lub odpowiedniego pliku dla powłoki:

export ANDROID_HOME=/home/youruser/whatever/adt-bundle-linux-x86_64-20140702/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platforms-tools

Zauważ, że te zmienne środowiskowe będą dostępne dla nowo utworzonych powłok, a nie już otwartych.


to działało dla mnie. Twoje stwierdzenie „Proszę zauważyć, że te zmienne środowiskowe będą dostępne dla nowo utworzonych powłok, a nie już otwartych”. pomogło mi zrozumieć, że muszę to powtórzyć.
jessiPP

Czy te ustawienia nie zostaną utracone po ponownym uruchomieniu? Mam na myśli po prostu eksportowanie ich w ten sposób bez faktycznego dotykania pliku .bashrc.
Dev Yego,

Jak powiedziano wyżej: dodaj to na końcu pliku .bashrc, .profile lub odpowiedniego pliku
Quique

24

W Android Studio w systemie Windows ustawienia zmiennych systemowych uległy niewielkiej zmianie.

Nadal musisz dodać zmienną systemową ANDROID_HOME, ale wskazując na katalog zawierający zwykle zainstalowany pakiet SDK systemu AndroidC:\Users\YOUR_USERNAME\AppData\Local\Android\android-studio\sdk .

Musisz również dodać następujące Pathzmienne systemowe:

;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;

Pochodzą z: https://github.com/simnova/webdevdocs/wiki/Installing-PhoneGap-and-Android-Studio-on-Windows

Ścieżka zestawu SDK również C:\Users\USER\AppData\Local\Android\sdk


może być konieczne kilkukrotne zamknięcie i ponowne otwarcie AS, aby miało to wpływ na ... z jakiegoś powodu zaczął działać po kilkukrotnej zmianie zmiennych i ponownym uruchomieniu AS, a następnie z powrotem do tego rozwiązania i powinno działać. zrezygnuj z tego, nawet dla Androida Studio v2
dlaczego

9

Właśnie to starałem się, aby działało. Byłam w:

os x Yosemite wersja 10.10.2
cordova wersja 4.2.0
android studio 1.0.1
Java SE Development Kit 7

ustaw ścieżkę:

# on ~/.zshrc file (open a text editor)
export ANDROID_HOME="/Users/<user>/Library/Android/sdk/"
export ANDROID_TOOLS="/Users/<user>/Library/Android/sdk/tools"
export ANDROID_PLATFORM_TOOLS="/Users/<user>/Library/Android/sdk/platform-tools"
PATH=$PATH:$ANDROID_HOME:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLS

ponownie otworzyć terminal

zainstaluj „android-19” z menedżera Android SDK

$ android
# pick "SDK Platform Android 4.4.2, API 19"

a następnie przejdź do katalogu projektu opartego na Cordova

$ ionic platform add android

Właśnie wstawiłem zmienne do tego pliku:sudo nano ~/.bash_profile
Caio Kawasaki,

6
Android path set in linux:

$export ANDROID_HOME=/usr/lib/android-sdk-linux
$export PATH=$PATH:$ANDROID_HOME/tools
$export PATH=$PATH:$ANDROID_HOME/platforms-tools

than

$cordova run android

Miałem ten sam problem. Problem w moim przypadku polegał na tym, że nie działałem powyżej komend jako użytkownik root. Wykonałem jako root i wszystko działało dobrze.
Bhupinder

5

ANDROID_HOMEjest przestarzałe teraz zamiast ANDROID_HOMEużywaniaANDROID_SDK_ROOT

zgodnie z dokumentacją Google Android -

ANDROID_SDK_ROOTustawia ścieżkę do katalogu instalacyjnego zestawu SDK . Po ustawieniu wartość zazwyczaj się nie zmienia i może być współużytkowana przez wielu użytkowników na tym samym komputerze. ANDROID_HOME , który również wskazuje na katalog instalacyjny zestawu SDK , jest nieaktualny .

Jeśli nadal będziesz go używać, obowiązują następujące zasady:

  • Jeśli ANDROID_HOMEjest zdefiniowany i zawiera prawidłową instalację SDK , jego wartość jest używana zamiast wartości wANDROID_SDK_ROOT .
  • Jeśli ANDROID_HOMEnie jest zdefiniowane, wartość wANDROID_SDK_ROOT używana jest .
  • Jeśli ANDROID_HOMEjest zdefiniowany, ale nie istnieje lub nie zawiera prawidłowej instalacji SDK , ANDROID_SDK_ROOTzamiast niego używana jest wartość in .

Aby uzyskać szczegółowe informacje, skorzystaj z tego linku Dokumentacja Androida


4

W systemie Linux

edytuj .bashrcplik i dodaj zmienną ANDROID_HOMEi PATH,

export ANDROID_HOME=/usr/local/android-sdk-linux/
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platforms-tools

Po zapisaniu .bashrcpliku uruchom

source ~/.bashrc

następnie wpisz

android w terminalu

jeśli będzie działać, ANDROID_HOMEiPATH jest ustawiony,

jeśli otrzymasz tę wiadomość,

bash: /src/android-sdk/tools/android: Permission denied

następnie uruchomić

sudo chmod a+x /usr/local/android-sdk-linux/tools/android

w przeciwnym razie pojawi się ten sam komunikat o błędzie

Error: Android SDK not found. Make sure that it is installed. If it is not at the default location, set the ANDROID_HOME environment variable.

NB: Użyj ścieżki instalacji sdk Androida zamiast / usr / local / android-sdk-linux /


4

W przypadku systemu Windows musiałem tylko dodać zmienną env wskazującą folder SDK. Gotowe! (Przyjęta odpowiedź nie działała dla mnie)

wprowadź opis zdjęcia tutaj


3

Musiałem zamknąć i ponownie otworzyć konsolę Windows (lub otworzyć nową konsolę), a następnie otworzyć menedżera androidzestawu SDK (uruchomionego ), po czym kilka aktualizacji i instalacji musiało zostać ukończonych.


3

Dla tych, którzy pracują z Ionic Framework na Windows i nie mają zainstalowanego Andorid Studio na swoich komputerach, musisz pobrać Android Studio lub pobrać z listy Menedżera SDK .

Jeśli wybierzesz opcję SDK Manager, musisz ustawić ścieżkę dla zmiennej środowiskowej:

  1. Nazwa zmiennej: ANDROID_HOME , Wartość zmiennej: ścieżka, w której zainstalowano zestaw SDK systemu Android, w moim przypadku jest to C: \ Android \ android-sdk .

  2. Musisz dodać zmienną do systemu zmiennych Path, dodając: ;% ANDROID_HOME% \ platform-tools;% ANDROID_HOME% \ tools; .

  3. Następnie, jeśli masz „błąd JDK”, po prostu pobierz go ze strony Oracle i utwórz zmienną systemową, taką jak Android SDK: Nazwa zmiennej: JAVA_HOME , Wartość zmiennej: ścieżka, w której zainstalowałeś JDK, w moim przypadku jest to C: \ Pliki programów \ Java \ jdk1.8.0_144 . Następnie dodaj go do systemu zmiennych Path, dodając ;% JAVA_HOME% \ bin .

  4. Jeśli pojawi się błąd „Gradle error”, po prostu zapoznaj się z instrukcjami instalacji na oficjalnej stronie gradle.

  5. Wreszcie możesz kontynuować tworzenie aplikacji dla aplikacji jonowej.

Uwaga: musisz ponownie otworzyć okno cmd lub ponownie uruchomić komputer po dokonaniu tych zmian. Mam nadzieję, że ta praca dla ciebie.


3

Do rozwiązania problemu potrzebna była tylko jedna zmiana:

Iść do Start -> Control Panel -> System -> Advanced(tab) -> Environment Variables -> System Variables

ustawiony ANDROID_HOMEnaC:\Program Files (x86)\Android\android-sdk


2

Korzystając z Android Studio na Macu, uruchom to na swoim terminalu:

export ANDROID_HOME=/Applications/Android\ Studio.app/sdk/
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platforms-tools

Następnie podczas pisania

android

na twoim terminalu coś uruchomi


Nic nie dostałem po wpisaniu Androida. Nie mogę znaleźć katalogu sdk Android Studio.app.
huggie

W moim przypadku ustawienie Android Studio (Plik-> Struktura projektu-> SDK) wskazuje na pakiet ADT (/ Applications / adt-bundle-mac-x86_64-20130729 /) ...
huggie

1

Dotyczy to głównie brakującego zestawu SDK Andrioda. dla tego problemu i błędu „ JAVA_HOME ” następujące rozwiązanie działało dla mnie ... dzień dziury zapisany po wykonaniu poniższych kroków.

Aby tworzyć i uruchamiać aplikacje, musisz zainstalować zestawy SDK dla każdej platformy, na którą chcesz kierować reklamy. Alternatywnie, jeśli używasz przeglądarki do programowania, możesz użyć platformy przeglądarki, która nie wymaga żadnych zestawów SDK platformy.

Aby sprawdzić, czy spełniasz wymagania dotyczące budowy platformy:

$ cordova requirements
Requirements check results for android:
Java JDK: installed .
Android SDK: installed
Android target: installed android-19,android-21,android-22,android-23,Google Inc.:Google APIs:19,Google Inc.:Google APIs (x86 System Image):19,Google Inc.:Google APIs:23
Gradle: installed

Requirements check results for ios:
Apple OS X: not installed
Cordova tooling for iOS requires Apple OS X
Error: Some of requirements check failed

1

Nawiasem mówiąc, jedną z możliwości jest to, że masz zbyt starą wersję platformy Android Cordova.

Błąd: nie znaleziono zestawu SDK systemu Android. Upewnij się, że jest zainstalowany. Jeśli nie znajduje się w domyślnej lokalizacji, ustaw zmienną środowiskową ANDROID_HOME.

Następnie:

cordova platform update android --save

1

1: przejdź do właściwości systemu
2: kliknij zmień ustawienie
3: kliknij kartę Zaawansowane
4: kliknij Zmienne środowiskowe ... przycisk
5: w obszarze zmiennych systemowych kliknij nowy przycisk
6: ustaw ANDROID_HOME w polu Nazwa zmiennej
7: ustaw C: \ Program Pliki (x86) \ Android \ android-sdk w polu Wartość zmiennej
9: kliknij przycisk ok
10: kliknij dwukrotnie zmienną Ścieżka na liście
11: kliknij nowy przycisk
12: przeszłość C: \ Program Files (x86) \ Android \ android- sdk \ platforma-tools w polu
13: kliknij ponownie przycisk Nowy
14: w przeszłości C: \ Program Files (x86) \ Android \ Android-sdk \ tools w polu
15: naciśnij 3 razy Enter.
jesteś gotowy do drogi.


1

Musisz tylko wpisać polecenie flutter_console.battypuflutter config --android-sdk <path-to-your-android-sdk-path>


0

jeśli użytkownicy Linuksa nadal mają ten sam błąd, prawdopodobnie użyli „sudo” do dodania platformy Android .. szybkie rozwiązanie tego problemu tutaj lub zainstalowaliście Cordova za pomocą sudo, istnieje również rozwiązanie tego problemu tutaj .

Mam nadzieję, że to pomoże!


0

Zetknąłem się również z tym samym problemem, mam rozwiązanie.

Zrobiłem następujące kroki :

  1. Otwórz właściwości systemu
  2. Zmienne środowiska
  3. utwórz nową zmienną systemową
  4. imię: ANDROID_HOME
  5. wartość: skopiuj ścieżkę SDK (np .: moja ścieżka SDK E: \ SoftWares \ Android-SDK )

zamknij bieżące polecenie cmd i uruchom ponownie, uruchom trzepotanie lekarza

to powinno działać w systemie Windows


-1

Jeśli nic więcej nie działa, upewnij się, że masz prawidłowe uprawnienia i prawa własności skonfigurowane podczas budowania. Szybką poprawką może być:

sudo chown -R <you>:<your_group> *
sudo chmod -R 755 *

Ten post dotyczy systemu Windows.
Josh McKearin
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.