edycja: (sierpień-2016)
To pytanie pochodzi z listopada 2013 r. (Gdy Android Studio było jeszcze w trybie Developer Preview),
Obecnie (AS v2.2, sierpień-2016) podczas instalacji AS prosi o wybranie folderu SDK (lub instalacji domyślnej) i automatycznie stosuje się do każdego otwieranego projektu.
Oznacza to, że wszelkie możliwe obejścia lub poprawki są nieistotne, ponieważ problemu nie można już odtworzyć.
oryginalne pytanie:
mamy ten projekt z kilkoma modułami, które są już skonfigurowane i działają poprawnie na innym komputerze deweloperskim przy użyciu opakowania. Sklonowałem całe podmoduły git do mojego komputera.
Poniżej znajduje się bezpośredni wydruk mojego wiersza poleceń:
$ ./gradlew
FAILURE: Build failed with an exception.
* Where:
Build file '/home/budius/project_name/ActionBar-PullToRefresh/library/build.gradle' line: 1
* What went wrong:
A problem occurred evaluating project ':ActionBar-PullToRefresh:library'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
* 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: 6.378 secs
$ echo $ANDROID_HOME
/home/budius/Applications/android-studio/sdk
$
więc, jak widać, ANDROID_HOME tam jest. Czego jeszcze chcą? Co tu jest nie tak.
działający na Ubuntu 13.04
edytować:
Utworzyłem już plik local.properties sdk.dir=<path>
w katalogu głównym projektu i działa. Ale to sprawia, że kod jest trudniejszy do przeniesienia na serwer kompilacji systemów, więc pytanie jest nadal otwarte.
Czy ktoś wie, dlaczego ANDROID_HOME nie działa i co zrobić, aby działał?
settings.gradle
pliku do folderu projektu.Odpowiedzi:
Rozwiązałem problem. To działa dla mnie:
W
Utworzyłem plik o nazwie local.properties i umieściłem go w nim
W konsoli muszę zrobić
Mam nadzieję że to pomoże.
źródło
W OSX IntelliJ nie pobierze zmiennych środowiskowych, które ustawiłeś w swoim .bash_profile lub .bash_rc itp ...
Spróbuj tego, zastępując wartość swojej własnej lokalizacji SDK:
launchctl setenv ANDROID_HOME /usr/local/opt/android-sdk
Następnie uruchom ponownie IntelliJ, a Bob jest twoim wujem.
Oto odniesienie do problemu, wyrażone bardziej ogólnie: https://emmanuelbernard.com/blog/2012/05/09/setting-global-variables-intellij/
źródło
launchctl setenv ANDROID_HOME ~/Library/Android/sdk
launchctl setenv ANDROID_HOME $ANDROID_HOME
ilaunchctl setenv JAVA_HOME $JAVA_HOME
W moim przypadku
settings.gradle
brakowało.Zapisz plik i umieść go w folderze najwyższego poziomu w swoim projekcie, nawet jeśli możesz skopiować również z innego projektu.
Odniesienie do zrzutu ekranu:
Mam nadzieję, że zaoszczędzi to Twój czas.
źródło
To działa dla mnie:
źródło
Wtyczka Android Gradle jest nadal w wersji beta i może to być po prostu błąd. Dla mnie ustawienie ANDROID_HOME działa, ale możemy być w różnych wersjach (spróbuj ponownie z najnowszą wersją i daj mi znać, czy działa, czy nie).
Warto też ustawić zmienną środowiskową ANDROID_SDK oraz ANDROID_HOME.
Widziałem problemy z tym na niektórych komputerach, więc w takich przypadkach tworzymy local.properties - zauważyłem również, że najnowsza wersja Android Studio utworzy ten plik za Ciebie i wypełni właściwość sdk.dir.
Zauważ, że nie powinieneś sprawdzać local.properties w kontroli wersji, dodaliśmy go do naszego gitignore, aby nie kolidował z przenoszeniem kodu między systemami, które słusznie zidentyfikowałeś jako potencjalny problem.
źródło
sdk.dir=/path/to/android/sdk
działało dla mnie. Używam gradle w ramach projektu utworzonego za pomocą IntelliJ 13.0.2Z jakiegoś powodu skrypt gradle nie pobiera wartości ANDROID_HOME ze środowiska. Spróbuj wyraźnie określić to w wierszu poleceń
źródło
Napotkałem ten sam problem, chociaż miałem plik local.properties w moim głównym module i zmienną środowiskową ANDROID_HOME ustawioną na poziomie systemu.
Naprawiono ten problem, kiedy skopiowałem plik local.properties, który znajdował się w moim głównym module projektu, do katalogu głównego całego projektu (tj. Katalogu nadrzędnego do twojego głównego modułu)
Spróbuj skopiować plik local.properties do modułów i katalogu głównego. Powinno działać.
źródło
Natknąłem się na ten sam problem podczas otwierania sklonowanego repozytorium git. Plik local.properties jest automatycznie dodawany do pliku .gitignore, ponieważ jest specyficzny dla środowiska kompilacji każdej maszyny i dlatego nie jest częścią repozytorium.
Rozwiązaniem jest zaimportowanie projektu zamiast otwierania go po sklonowaniu go z git, co zmusza Android Studio do utworzenia pliku local.properties odpowiedniego dla twojego komputera:
Plik >> Importuj projekt >>
źródło
MAC OS X:
~/.bash_profile
dodać:
export ANDROID_HOME=~/Library/Android/sdk export PATH=${PATH}:${ANDROID_HOME}/tools export PATH=${PATH}:${ANDROID_HOME}/platform-tools
Biegać:
source ~/.bash_profile
Uruchom ponownie terminal i Android Studio
źródło
Jak to zrobić na MAC OSX:
1) Otwórz Terminal i edytuj:
vi ~/.bash_profile
Jeśli nie ma tam pliku, po prostu go dodaj.2) Dodaj (zmień na SWOJĄ NAZWĘ UŻYTKOWNIKA i dodaj to):
#Java var home: JAVA_HOME="/usr/libexec/java_home" ANDROID_HOME="/Users/<YOUR USER NAME>/Library/Android/sdk"
3) Biegnij
source ~/.bash_profile
.4) Uruchom
echo $JAVA_HOME; echo $ANDROID_HOME;
5) Jeśli wynik to:
/usr/libexec/java_home /Users/<YOUR USER NAME>/Library/Android/sdk
Więc jesteś dobry.
i RESTART Android studio!
I upewnij się, że masz java :)
java -version
I gradle :)
gradle --version
źródło
export ANDROID_HOME
ANDROID_HOME
a następnie wykonujęsource ~/.bash_profile
, to jest trwałe (wykonaniesource
jest dobre, jeśli nie chcesz się wylogować i zalogować lub ponownie uruchomić). W twoim przypadkuexport ANDROID_HOME
po ponownym uruchomieniu lub zalogowaniu zmienna środowiskowaANDROID_HOME
w systemie Mac zniknie.Skopiuj plik local.properties do folderu głównego i uruchom ponownie.
źródło
To zadziałało dla mnie (Ubuntu):
Dodaj
ANDROID_HOME=/path/to/android-sdk
do/etc/environment
.Restart.
źródło
w systemie Windows ustawiam ANDROID_HOME = E: \ android \ adt-bundle-windows-x86_64-20131030 \ sdk Wtedy działa zgodnie z oczekiwaniami.
W Linuksie musisz ustawić sdk.dir.
Skrypt używa dwóch różnych zmiennych.
źródło
sdk.dir=C:\\Users\\username\\AppData\\Local\\Android\\Sdk
Mam ten sam problem, wygląda na to, że przykładowy kod nie może znaleźć środowiska androida, zamiast tego próbuję naprawić, po prostu usuwam przykładowy kod z settings.gradle, a następnie instalacja przebiega pomyślnie.
potem po prostu zaimportuj projekt w zaćmieniu i to wszystko :)
źródło
W systemie Linux spróbuj uruchomić studio.sh z terminala i ustaw ANDROID_HOME w tym terminalu. To zadziałało dla mnie.
źródło
Jeśli używasz systemu Windows Plantform, spróbuj uruchomić Android Studio jako administrator
źródło
Po prostu usuń sdk.dir w pliku local.preoperties i ustaw zmienną środowiskową ANDROID_HOME . U mnie to zadziałało.
źródło
eksportuj ANDROID_HOME = / xxx / xxx / w powłoce, a następnie użyj go przez System.env.ANDROID_HOME w pliku gradle.
PS: nie zapomnij o słowach kluczowych „eksport”, aby ANDROID_HOME stał się globalny.
źródło
export
tej odpowiedzi należy zwrócić uwagę. MiałemANDROID_HOME
zdefiniowane, a nawet dodając, że doPATH
, ale jeśli nieexport ANDROID_HOME
, Gradle nie będzie w stanie go znaleźć.Być może brakuje pliku local.properties. Jeśli tak, dodaj plik o nazwie „local.properties” w /local.properties i podaj lokalizację sdk w następujący sposób.
sdk.dir = C: \ Users \\ AppData \ Local \ Android \ Sdk
źródło
Mam ustawić ANDROID_HOME = [PATH_OF_MY_ANDROID_SDK] do mojego zmiennej środowiskowej. To rozwiązanie działa dla mnie.
źródło
Właśnie rozwiązałem ten sam problem, dodając ANDROID_HOME jako zmienną systemową. W Ubuntu powinien znajdować się w / etc / profile lub w pliku skryptu powłoki w /etc/profile.d/
Następnie wyloguj się i zaloguj ponownie, teraz Gradle powinien rozpoznać zmienną ANDROID_HOME.
źródło
Natknąłem się na podobny problem. W jakiś sposób nie miałem folderu kompilacji w moim projekcie. Kopiowanie tego folderu z innego projektu do mojego projektu, z którym miałem problem, rozwiązało ten problem.
źródło
Zainstalowanie Build-Tools 23.0.1 zamiast 23.0.2 rozwiązało ten problem.
źródło
rozwiązania:
1 dodaj „sdk.dir = path_of_sdk”
2 wykonaj gradlew ze zmienną evn, taką jak:
$ ANDROID_HOME = ścieżka_sdk ./gradlw
źródło
Powiedziałeś, że przechowywanie wersji local.properties stwarza problemy. Zhakowałem razem skrypt, który używa narzędzia wiersza poleceń systemu Android do odświeżania pliku local.properties na maszynach zaangażowanych w produkcję. Polecenie android update project , oprócz local.properties, produkuje wiele niechcianych śmieci (przynajmniej dla mnie), co jest przyczyną wszystkich tych poleceń rm na końcu skryptu.
Ten skrypt jest pierwszą rzeczą, którą uruchamiamy na każdej nowej maszynie, na której kodujemy. Musi być uruchomiony w głównym katalogu projektu. Oczywiście android studio może mieć GUI sposób radzenia sobie z tym, ale nie wiedziałbym, ponieważ używam innego edytora. Nie mogę też twierdzić, że rozwiązanie jest ogólne, ale to „Działa dla mnie” (tm).
źródło
Napotkałem ten sam problem na Ubuntu (oba
local.properties
iANDROID_HOME
zostały dodane), ale błąd kompilacji utrzymywał się. Więc obejściem jest dodanie następujących wierszyexport ANDROID_HOME=/home/<user>/Android/Sdk export PATH=$PATH:/home/<user>/Android/Sdk/tools
bezpośrednio do
studio.sh
scenariusza (wewnątrz/usr/local/android-studio/bin
)Może to będzie pomocne.
źródło
napotkałem ten sam błąd, ale w moim przypadku klonowałem projekt, sklonowany projekt został zbudowany za pomocą Android API 22, którego nie instalowałem w tym czasie (miałem zainstalowane API 24 i 25) ........ więc Musiałem pobrać narzędzia SDK dla API 22
źródło
Dla Windowsa:
źródło
W moim systemie (Ubuntu 20.04 po dwóch aktualizacjach wersji z 19.04) symptomy wyglądały tak, jakby
gradle
(4.4.1 zainstalowane z repozytoriów APT) ignorowałANDROID_HOME
zmienną środowiskową, podczas pobieraniasdk.dir
wartości z tego,local.properties
gdy ją utworzyłem.Wydawało się, że powodem było
java
wspomniane polecenieopenjdk version "11.0.7"
. Po zainstalowaniuopenjdk-8-jdk
pakietu iupdate-alternatives --config java
ustawieniu domyślnejjava
wersji 8 ("1.8.0_252"
),gradle
zaczęło działać zgodnie z oczekiwaniami.źródło
To pytanie pochodzi z listopada 2013 r. (Gdy Android Studio było jeszcze w trybie Developer Preview),
Obecnie (AS v2.2, sierpień-2016) podczas instalacji AS prosi o wybranie folderu SDK (lub instalacji domyślnej) i automatycznie stosuje się do każdego otwieranego projektu.
Oznacza to, że wszelkie możliwe obejścia lub poprawki są nieistotne, ponieważ problemu nie można już odtworzyć.
źródło