Próbuję zbudować projekt Ionic-Android i mam zainstalowany pakiet SDK dla systemu Android.
Nazwa mojego projektu to myApp. Pomyślnie dodałem platformę Android do myApp. Ale kiedy próbuję zbudować projekt
~/myApp$ sudo ionic build android
wynik jest
Running command: /home/hari/myApp/hooks/after_prepare/010_add_platform_class.js /home/hari/myApp
add to body class: platform-android
ERROR building one of the platforms: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually.
Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.
You may not have the required environment or OS to build this project
Error: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually.
Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.
zobacz zmienne ANDROID_HOME i PATH
echo $ANDROID_HOME
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hari/Android/Sdk
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hari/Android/Sdk/tools:/home/hari/Android/Sdk/platform-tools:/usr/local/bin:/opt/gradle/bin
Widziałem prawie tego samego rodzaju pytania dotyczące przepełnienia stosu, ale żadne nie działa dla mnie. Czy jest coś nie tak z moją konfiguracją androida-sdk? Jak mogę zbudować ten projekt?
android
ionic-framework
Hari Krishnan
źródło
źródło
/home/hari/Android/Sdk
(zakładając, że to prawda)Odpowiedzi:
Możesz chcieć potwierdzić, że środowisko programistyczne zostało ustawione poprawnie.
Cytat z spring.io :
źródło
ANDROID_HOME
równą, w zależności od miejsca zapisania SDK. Więcej szczegółów znajdziesz na stackoverflow.com/questions/19986214/… ./android-sdk-linux
,tools
iplatform-tools
? Nie widzę takich katalogów w moim/opt/android-studio
. Moje Android Studio działa, ale nie mam tych katalogów.W systemie Linux
Przede wszystkim ustaw ANDROID_HOME w pliku .bashrc
Uruchom polecenie
ustaw ścieżkę Andoid sdk, w której zainstalowałeś
export ANDROID_HOME=/opt/android-sdk-linux export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
aby ponownie załadować polecenie uruchomienia pliku
source ~/.bashrc
Teraz sprawdź zainstalowaną platformę, uruchom polecenie
ionic platform
Wynik
Installed platforms: android 6.0.0 Available platforms: amazon-fireos ~3.6.3 (deprecated) blackberry10 ~3.8.0 browser ~4.1.0 firefoxos ~3.6.3 ubuntu ~4.3.4 webos ~3.7.0
jeśli Android jest już zainstalowany, należy go usunąć i zainstalować ponownie
ionic platform rm android ionic platform add android
Jeśli jeszcze nie jest zainstalowany, dodaj platformę Android
ionic platform add android
Upewnij się, że dodałeś platformę Android bez polecenia sudo
Jeśli nadal pojawia się błąd podczas dodawania platformy Androida, takiej jak obserwowanie
Błąd: EACCES: odmowa uprawnień, otwórz „/home/ubuntu/.cordova/lib/npm_cache/cordova-android/6.0.0/package/package.json”
Przejdź do / home / ubuntu / i usuń stamtąd folder .cordova
cd /home/ubuntu/ sudo rm -r .cordova
Teraz ponownie uruchom następujące polecenie
ionic platform add android
po pomyślnym dodaniu platformy będziesz mógł budować andoid w języku jonowym.
Dzięki
źródło
ionic cordova platform add android
.Oto kroki, które musisz wykonać, aby pomyślnie skonfigurować swój projekt Ionic do pracy z emulatorem Androida:
Aby dodać platformę Android:
Priori Things
Najpierw musisz skonfigurować zmienne środowiskowe. W tym celu należy wziąć pod uwagę 3 pliki:
1. ~ / .profile (do ustawiania zmiennych przy każdym otwarciu terminala lub uruchomieniu komputera):
// Kod, który musisz dołączyć na końcu
set PATH so it includes user's private bin directories PATH="$HOME/bin:$HOME/.local/bin:$PATH" export ANDROID_HOME='/home/<user_name>/Android/Sdk' <Path to android SDK> export PATH=$PATH:$ANDROID_HOME/bin export PATH=$PATH:$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/platform-tools
2. / etc / environment (aby ustawić zmienne środowiskowe):
// Cała zawartość pliku
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" JAVA_HOME="/usr/lib/jvm/java-8-oracle" ANDROID_HOME="/home/<user_name>/Android/Sdk" <Path to android SDK>
3. / etc / profile :
// Kod, który musisz dodać na końcu
JAVA_HOME=/usr/lib/jvm/java-8-oracle <Path where Java is installed> JRE_HOME=$JAVA_HOME/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME export JRE_HOME export PATH
Aby załadować powyższe zmiany dokonane w pliku, należy uruchomić następujące polecenie:
source ~/.profile source /etc/environment source /etc/profile
Posteori Things
1. Dodaj platformę: platforma ionic dodaj android (pamiętaj, że musisz uruchomić to polecenie bez sudo )
2. Jeśli nadal pojawia się błąd w powyższym poleceniu, wykonaj następujące czynności: (tutaj nazwa_aplikacji = helloWorld)
cd .. sudo chmod -R 777 helloWorld cd helloWorld ionic platform add android If you are still getting the error then remove ".cordova" folder from the home directory of your PC.
3. Aby uruchomić aplikację w emulatorze Androida: ionic run android
Dzięki!
źródło
Dla tych, którzy mają przenośną edycję SDK w systemie Windows, po prostu dodaj 2 następujące ścieżki do swojego systemu.
F:\ADT_SDK\sdk\platforms F:\ADT_SDK\sdk\platform-tools
To zadziałało dla mnie.
źródło
Miałem ten problem wcześniej.
Musisz dodać
sdks\tools
isdks\build-tools
do swojej ścieżki środowiska.źródło
Żadna z powyższych odpowiedzi nie rozwiązała mojego problemu, więc chciałem dołączyć aktualne rozwiązanie (stan na kwiecień 2019) dla osób korzystających z Ubuntu 18.04. Tak rozwiązałem powyższe pytanie ...
/usr/lib/Android/
Wyszukaj miejsce zainstalowania zestawu SDK i wersję. W moim przypadku to tutaj:
/usr/lib/Android/Sdk/build-tools/28.0.3
Uwaga: że używam wersji 28.0.3, Twoja wersja może się różnić.
Dodaj
ANDROID_HOME
do ścieżki środowiska. Aby to zrobić, otwórz / etc / environment za pomocą edytora tekstu:sudo nano /etc/environment
Dodaj wiersz dotyczący
ANDROID_HOME
konkretnej wersji i ścieżki. W moim przypadku było to:ANDROID_HOME="/usr/lib/Android/Sdk/build-tools/28.0.3"
Na koniec pobierz zaktualizowane środowisko za pomocą:
source /etc/environment
Potwierdź to, próbując:
echo $ANDROID_HOME
w terminalu. Powinieneś otrzymać ścieżkę do nowo utworzonej zmiennej.Jedna dodatkowa uwaga na temat pozyskiwania: musiałem ponownie uruchomić komputer, aby terminal VScode rozpoznał moje zmiany. Po restarcie środowisko zostało ustawione i od tego czasu nie miałem żadnych problemów.
źródło
Wykonaj:
sudo gedit ~/.bashrc
dodajJAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export JAVA_HOME PATH=$PATH:$JAVA_HOME export PATH export ANDROID_HOME=~/Android/Sdk export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
i
source ~/.bashrc
źródło
Chciałbym podzielić się odpowiedzią, która pokazuje również podejście z wykorzystaniem Android SDK dostarczonego przez repozytorium Ubuntu:
Zainstaluj Android SDK
sudo apt-get install android-sdk
Eksportuj zmienne środowiskowe
export ANDROID_HOME="/usr/lib/android-sdk/" export PATH="${PATH}:${ANDROID_HOME}tools/:${ANDROID_HOME}platform-tools/"
źródło
Przyjechałem tutaj z Google, szukając tego samego problemu i zmarnowałem 4 godziny, aby dowiedzieć się, co może być nie tak. A teraz czuję się naprawdę głupio, publikując tę odpowiedź. W moim przypadku SDK, JDK, JRE, Ant i wszystko inne zostało zainstalowane i działało dzień wcześniej.
Ale tylko jeden konkretny projekt dawał mi ten problem. Ten był pod "C: \ Users \ Name \ Documents" lokalizacja
Wkrótce zdałem sobie sprawę, że uruchamiam cmd jako zwykły użytkownik, gdy tylko wybrałem opcję „ Uruchom jako administrator ”, wszystko zaczęło działać.
Wskazówka: zawsze dokładnie rozważ lokalizację projektu!
źródło
To rozwiązało mój problem. Dodaj poniżej do ścieżki systemowej
PATH_TO_android \ platform
PATH_TO_android \ platform-tools
źródło
Aby ustawić środowisko ANDROID_HOME na Ubuntu 20.04, odwiedź sklep Snap Store Ubuntu i zainstaluj Android Studio, a następnie otwórz
vim $HOME/.bashrc
I ustaw zmienne środowiskowe w następujący sposób:
export ANDROID_HOME=${HOME}/Android/Sdk export PATH=${ANDROID_HOME}/tools:${PATH} export PATH=${ANDROID_HOME}/emulator:${PATH} export PATH=${ANDROID_HOME}/platform-tools:${PATH}
Z wcześniejszych wersjach Androida studio zastąpić ANDROID_HOME z ANDROID_SDK_ROOT inaczej buduje będą narzekać, że ANDROID_HOME jest przestarzała.
źródło
Doświadczyłem tego problemu na komputerze z systemem Windows 7: wyłączenie komputera podczas działania usługi jonowej (zakładam, że to był problem, który wszystko zepsuł)
Usuń węzeł CAŁKOWICIE i ponownie zainstaluj wszystko na nowej kopii węzła
źródło
W systemie Windows, jeśli uruchamiasz to polecenie z terminala kodu VS i nawet po skonfigurowaniu wszystkich zmiennych środowiskowych (tj. Build-tools, platform-tools, tools), nie działa, próbując uruchomić to samo polecenie z zewnętrznego terminala cmd. W moim przypadku nawet po uruchomieniu nowego terminala kodu VS nie był w stanie przyjąć zaktualizowanej ścieżki środowiska.
Zadziałało, gdy uruchomiłem to samo polecenie z cmd systemu Windows.
źródło
Doświadczyłem tego samego problemu na MAC Catalina 10.15 to, co dodajesz w .bash_profile nie jest rozpoznawane po wyświetleniu go na terminalu, jest tymczasowo przechowywane. Zalecane jest użycie .zprofile na stałe i dodanie do niego wszystkich zmiennych środowiskowych. Po 5 godzinach prób znalazłem takie rozwiązanie. Mam nadzieję, że komuś się przyda.
vi .zprofile insert(press i) export ANDROID_HOME=/Users/mypc/Library/Android/sdk export PATH=$ANDROID_HOME/platform-tools:${PATH} after adding environment variables press esc then enter :wq! try echo $ANDROID_HOME in new tab(it will not be empty) path will be printed
źródło