Błąd: compileSdkVersion android-21 wymaga kompilacji z JDK 7

106

Podczas kompilacji Error:compileSdkVersion android-21 requires compiling with JDK 7pojawia się błąd informujący, że wymagana jest nowsza wersja JDK.

Używam systemu OS X Yosemite z Android Studio v0.8.14

Rzeczy, które sprawdziłem:

  1. Wersja Java:

java version "1.8.0_25" Java(TM) SE Runtime Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

  1. W folderze JavaVirtualMachine widzę tylko 1.6.0.jdkfolder, nie mogę znaleźć innego folderu.

  2. Próbowałem przeinstalować JDk 8 i 7!

Nie mogę znaleźć lokalizacji folderu jvm 1.8, mam jakiś pomysł, jak mogę to naprawić.

Arjun Komath
źródło
Mam ten sam problem. Znalazłeś rozwiązanie tego problemu?
gsueagle 2008,
@EricCumbee Używanie Jdk 7, jak pokazano poniżej, rozwiązało problem.
Arjun Komath
4
To absurdalne, że jest to pierwsze doświadczenie.
Andy

Odpowiedzi:

224

Dokładne rozwiązanie tego problemu (użytkownicy Android Studio na komputerach Mac)

Jeśli dokonałeś już aktualizacji do Java 8, pamiętaj, że lokalizacja JDK jest teraz w /Library/Javaporównaniu z lokalizacją Java 6 /System/Library/Java. Tak, aby rozwiązać ten problem, kliknij prawym przyciskiem na Project folder> Project Structure>SDK Location.

Następnie zmień lokalizację JDK na

/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

Jeśli zainstalowałeś inną wersję JDK (inną niż Java 8), najpierw znajdź ścieżkę za pomocą java_homeskryptu i użyj danych wyjściowych. Po prostu biegnij,

/usr/libexec/java_home 
Subin Sebastian
źródło
10
Dzięki @Subin For Android studio 1.0.1 SDK Lokalizacja znajdująca się w File > Project Structurelub po prostu trafionaCommand + ;
Husam
1
Idealna odpowiedź dla użytkowników studia android .. uratowała mnie
reidisaki
poniższa ścieżka zadziałała dla mnie /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
Teja Swaroop
2
Poważnie patrzyłem na moją lokalizację i uważałem, że jest w porządku, ale po prostu widziałem jdk1.6, dopóki nie zrozumiałem, co masz na myśli, upewniając się, że jesteś w / Library / Java zamiast / System / Library / Java, gdzie łatwo znalazłem jdk1. 8, aby przejść do Contents / Home and boom, teraz Android Studio działa bez ciągłych błędów. Jesteś świętym!
ColossalChris
1
Działa to również w systemie Windows! Po prostu wskaż instalację JDK. Przykład:C:\Program Files\Java\jdk1.8.0_51
ADTC
29

Właściwie właśnie znalazłem rozwiązanie - JDK 7 znajduje się w /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home.

że to działa dla mnie. Oracle Docs, gdzie jest zainstalowany JDK7

gsueagle2008
źródło
2
Nie widzę tego folderu! mój pokazuje tylko ten folder1.6.0.jdk
Arjun Komath
Nie pamiętam, gdzie początkowo szukało Android Studio, ale folder 1.7 JDK nie znajdował się w tym samym drzewie katalogów co 1.6.0jdk.
gsueagle 2008
6
@Arjun ma takie samo zamieszanie jak Twoje. Ale potem właśnie zdałem sobie sprawę, że katalog „Java” JDK 7 znajduje się w rzeczywistości /Library/Javazamiast być /System/Library/Javaoddzielony od mojego JDK 6
tak,
Mówiąc prostym językiem, co właściwie zrobiłeś, aby rozwiązać problem?
JGallardo,
{ROOT}
/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/
10

Mam rozwiązanie. Mnie też się to przytrafiło i dużo szukałem w Google, ale dostałem tylko podpowiedzi. Wiele podpowiedzi. I wymyśliłem pewne rozwiązanie.

Dzieje się tak, ponieważ komputer nie ma zainstalowanego pakietu JDK 7 (lub nowszego). Katalog JDK w AS / Configuration może wskazywać na JDK6. (Ten system / biblioteka / ...)

Wszystko, co musisz zrobić, to:

  1. Pobierz najnowszą wersję JDK.
  2. Zainstaluj to.
  3. Wskaż Android Studio / Configure / Project Defaults / Project Structure / (JDK Location:) to / Library / Java / JavaVirtualMachines / jdk1.8.0_25.jdk / Contents / Home

Tekst wyróżniony pogrubioną kursywą może się różnić, dlatego zalecamy jego przeglądanie. Mam nadzieję że to pomoże. Spędziłem cały dzień psując z Gradle, Android Studio. Miłego kodowania.

TheOnlyAnil
źródło
7

Zauważyłem, że połączone odpowiedzi Erica i Subina rozwiązały mój problem:

tj. musisz ustawić JDK java na odpowiedź Erica (zakładając, że używasz JDK 7):

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home.

Popełniłem błąd polegający na tym, że próbowałem po prostu wybrać katalog jdk1.7.0_71.jdk i ciągle otrzymywałem komunikat o błędzie „Proszę wybrać prawidłowy katalog JDK”.

Pracowałem nad formatem używanym wcześniej dla JDK 6 :( - Zadziałało, kiedy podałem mu pełną ścieżkę do Contents / Home.

Odpowiedź Subina mówi, jak znaleźć lokalizację JDK, która może się różnić w zależności od tego, co próbujesz zrobić.

Dzięki Eric i Subin!

user2155964
źródło
3

Udostępniam to, ponieważ chcę pomóc tym, którzy znaleźli to pytanie podczas wpisywania w Google błędu. Większość innych „odpowiedzi” w Internecie była bardzo czasochłonna. Postępuj zgodnie z poniższymi instrukcjami, zanim stracisz tyle czasu, co ja.


To, co zrobiłem, to pobranie JDK 7

Następnie zmień ustawienie jdk na 1.7.0

wprowadź opis obrazu tutaj

JGallardo
źródło
3

Ja też mam ten problem. Jak dotąd nie mogę znaleźć dla tego rozwiązania, więc uciekłem się do zmiany maksymalnej wersji SDK na 20, która działa z JDK6.

Jeśli chodzi o lokalizację pliku, to zamiast zakładać, że Android studio powinno znajdować się w / System / Library / Java / JavaVirtualMachines / Insert JDK version / Contents / Home.

W rzeczywistości mój JDK jest instalowany w / Library / Java / JavaVirtualMachines / JDK Version Here / Contents / Home.

Próba wybrania JDK w rzeczywistym katalogu, w którym jest zainstalowany, powoduje, że studio Android mówi, że muszę wybrać prawidłową lokalizację JDK. Na razie nie mogę znaleźć poprawki, więc jak powiedziałem powyżej, uciekłem się do zmiany maksymalnej wersji SDK na 20 zamiast 21 i tak pozostanie, dopóki więcej osób nie będzie cierpieć z powodu błędu, aby Google to naprawił. Lub do czasu, gdy rzeczywista poprawka zostanie opublikowana online zamiast 101 sposobów, aby nie zadziałała.

Mam nadzieję, że na razie to pomaga, tak naprawdę nie jest to rozwiązanie / odpowiedź, ale jest to obejście, które na razie działa dla mnie.

Leccles1
źródło
0

jeśli masz tylko folder 1.6.0.jdk, przejdź do tego łącza i pobierz i zainstaluj jdk 1.7. następnie znajdź folder java w tej ścieżce

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
haszysz
źródło
0

Rozwiązania w tym wątku nie są poprawne dla tego samego błędu w Android Studio 1.4. Na przykład menu preferencji zniknęło. Poniżej znajduje się rozwiązanie dla Android Studio 1.4 działającego na Ubuntu 14.04.

Aby rozwiązać w Ubuntu 14.04+ i Android Studio 1.4+, musisz przejść do

Plik -> Inne ustawienia -> Ustawienia domyślne -> Kompilacja, wykonanie, wdrożenie -> Kompilator -> Kompilator Java -> Wersja kodu bajtowego projektu

To menu będzie domyślnie puste.

Ustaw preferowany JDK, w przypadku poniższego ekranu, 1.8.

Zrzut ekranu zestawu SDK systemu Android

Voila, twój projekt się skompiluje.

barnhillec
źródło
0
  1. Pobierz stąd najnowszy JDK.
  2. Otwórz narzędzie wiersza poleceń.
  3. Skopiuj i wklej następujący wiersz do narzędzia wiersza poleceń i naciśnij klawisz Return.

/ usr / libexec / java_home

  1. Skopiuj dane wyjściowe tego polecenia.
  2. Wróć do swojego projektu Androida i nawiguj jak poniżej

Plik -> Struktura projektu -> Lokalizacja JDK

edytuj (kliknij kwadrat z trzema kropkami) lokalizację JDK (drugie na obrazie) i wklej tam wyjście narzędzia wiersza poleceń.

wprowadź opis obrazu tutaj Zebrałem te instrukcje za pomocą MacBooka Pro.

user2511630
źródło