Nieobsługiwana wersja major.minor 52.0 podczas renderowania w Android Studio

106

Kiedy próbuję wyrenderować podgląd układu w Android Studio, pojawia się błąd:

Nieobsługiwana wersja major.minor 52.0

Ivo Stoyanov
źródło
Należy podać wersję systemu operacyjnego i języka Java. Zaktualizuj do nowszej wersji Java. Jeśli używasz Debiana, upewnij się, że używasz Debian Stretch (8.9, Java 8) zamiast Debian Jessie (8.1, Java 7).
jww

Odpowiedzi:

99

Sprawdź, czy JAVA_HOMEużywasz jdk 1.8

Sprawdź też: parametr w Android Studio w celu zmiany o

Plik-> Inne ustawienia-> Domyślna struktura projektu-> Zestawy SDK

Fredblabla
źródło
4
Cześć, mam zainstalowane jdk1.8 i „połączony” w struktury projektu i problem nadal się dzieje
Kotik_o
Twoja odpowiedź jest miła, ale może dodaj, że po otwarciu struktury projektu zobaczysz przegląd aktualnych problemów, takich jak wersja JDK.
jobbert
1
Dzięki; samo zainstalowanie JDK 8 i ustawienie go w domyślnej strukturze projektu działało dla mnie.
pipedreambomb
1
W OSX ustawiłem JAVA_HOME na / Applications / Android Studio.app/Contents/jre/jdk/Contents/Home, rozwiązałem problem.
Zhang Buzz
Odkryłem, że ustawienie JAVA_HOMEnie jest konieczne, ale używanie File->Project Structurejest. Możesz także ustawić wartość „Użyj osadzonego JDK”.
Thomas W,
70

To jest błąd w Android Studio. Zwykle pojawia się błąd: nieobsługiwana wersja major.minor 52.0

OBEJŚCIE: Jeśli masz zainstalowanego Androida N, zmień wersję renderowania Androida na starszą, a problem zniknie.

ROZWIĄZANIE: Zainstaluj Android SDK Tools 25.1.3 (narzędzia) lub nowszy

wprowadź opis obrazu tutaj

Ivo Stoyanov
źródło
Hahaha jakie to proste? I tutaj myślałem, że
spędziłem
12
Gdzie jest to okno podglądu? Pozycja menu My View \ Tool Windows \ Preview jest wyłączona.
Lorek
Używam Eclipse 4.5.2, a Android SDK Tools to 24.4.1, a ADT to 23.0.7. Mam ten sam błąd. Jak mam to rozwiązać?
Dr Jacky
@ Mr.Hyde Czy używasz JDK 1.8?
rm8x
czy mógłbyś to sprecyzować? Jak mogę to zmienić? Jakie polecenia?
João Pimentel Ferreira
41

Skończyłem, ustawiając JAVA_HOME, JAVA8_HOME, ... i zawsze miałem błąd. Dla mnie rozwiązaniem było ustawienie gradle w wersji 2.1.0 na współpracę z Jdk 1.8.0_92 i Android Studio 2.11

dependencies {
    classpath 'com.android.tools.build:gradle:2.1.0'
    //classpath 'com.android.tools.build:gradle:2.+'
}
FeelCode
źródło
1
Szukałem w Google przez 2 godziny, aby rozwiązać ten problem. Uratowałeś mi życie!
Soohwan Park
TAK! To również rozwiązało problem dla mnie, żadna z pozostałych sugerowanych odpowiedzi nie zadziałała. Miałem problem z projektem, który miał kilka miesięcy i kiedy próbowałem go otworzyć na nowym komputerze ze świeżym Androidem Studio.
Mattias Petter Johansson
To zadziałało dla mnie, dzięki .. !! Ale dlaczego dało mi to błąd. Zgodnie ze ścieżką klasy ustawiłem ścieżkę klas 'com.android.tools.build:gradle:2.3.0-alpha2'
Parin Parikh
36

Dla tych z Was, którzy nadal stoją przed tym. Mam ten problem po uaktualnieniu do Android Studio do wersji 2.1.2. Utknąłem z tym problemem przez około godzinę, wypróbowałem te rozwiązania:

  1. multidexEnabled true
  2. zwiększenie pamięci o nici demona
  3. zaktualizowany do Java 8

Dokładnie sprawdziłem skrypty gradle i znalazłem to:

 compileSdkVersion 23
 buildToolsVersion "24.0.0"

zmienić na:

compileSdkVersion 23
buildToolsVersion "23.0.3"

Nie wiem, jak to spowodowało błąd, ale to załatwiło sprawę. Proszę, daj mi znać, jak to działało, jeśli znasz odpowiedź. Dzięki

karan vs
źródło
Dziękuję Ci. To rozwiązało problem, który miałem podczas kompilowania projektu na Androida.
stevehs17
Aktualizacja Java 8 była wszystkim, czego potrzebowałem
rm8x
28

Nieobsługiwana wersja major.minor 52.0

Gdy do kompilacji używany jest wyższy pakiet JDK, tworzy on plik klasy z wyższą wersją, a gdy do uruchamiania programu używany jest niższy JDK, wykrył, że wyższa wersja pliku klasy nie jest obsługiwana na poziomie JVM i skutkuje wynikiem java.lang.UnsupportedClassVersionError.

Jak naprawić

  • Zwiększ wersję JAVA, której używasz do uruchamiania programu

Możesz zastosować kilka sztuczek

  • Wywołaj ścieżkę klasy stabilnej wersji „com.android.tools.build:gradle:2.1.0” // 2.3.0

Konfigurowanie Gradle

Aby włączyć funkcje języka Java 8 i Jack dla swojego projektu, wprowadź następujące informacje w pliku build.gradle na poziomie modułu:

android {
  ...
  defaultConfig {
    ...
    jackOptions {
      enabled true
    }
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

Dzięki uprzejmości udostępniono funkcje językowe Java 8

Po prostu wybierz „API 23: Android 6.0” z sekcji podglądu.

wprowadź opis obrazu tutaj

IntelliJ Amiya
źródło
@fantasy mine pleasure.
IntelliJ Amiya
Musiałem obniżyć poziom gradle i dołączyć opcje Java jack. Jednak nadal nie rozumiem, dlaczego błąd się pojawia i jak zostanie rozwiązany w przyszłości. Mam wszystko zaktualizowane do najnowszych wersji: /
htafoya
25

Jeśli widzisz ten błąd i właśnie dokonałeś aktualizacji do Android Studio 2.2+, musisz zaktualizować JDK w opcjach „Struktura projektu”.

W systemie OSX znajduje się pod File > Project Structure > SDK. Lub z ekranu powitalnego w programieConfigure > Project Defaults > Project Structure .

Wybierz Use the embedded JDK (recommended) opcję zamiast używać własnego JDK.

Dokumenty Google nie zostały jeszcze zaktualizowane, aby odzwierciedlić tę zmianę. Zobacz: http://tools.android.com/tech-docs/configuration/osx-jdk

Will Vanderhoef
źródło
7

W moim przypadku musiałem zmienić zależności build.gradlepliku na:

dependencies { 
    classpath 'com.android.tools.build:gradle:2.1.0'
}

(pierwotnie było 2.2.2 ) Myślę, że to zostało wygenerowane przez kilka osób pracujących nad tym samym projektem z różnymi wersjami gradle. Sprawdź więc swoją wersję gradle i odpowiednio edytuj ten plik.

Dobre wibracje!

Sebastian Corradi
źródło
7

W najnowszej wersji zaleca się przejście na osadzony JDK, jak na poniższym obrazku, a to rozwiąże twój błąd

rozwiązać błąd major.minor wersji 52.0

MatPag
źródło
Nie przejmowałem się tym całym szaleństwem z różnymi wersjami SDK i JDK zalecanymi tutaj, ale miałem to zrobić i odkryłem opcję „Użyj osadzonego JDK”, która zadziałała. Miałem zamieścić to rozwiązanie i zobaczyć twoje. To powinno być właściwe rozwiązanie, IMHO.
David Gish
To samo co @DavidGish, to rozwiązanie przybiło to
Jeremy Piednoel
4

Otrzymałem również ten sam komunikat o błędzie „ Nieobsługiwana wersja major.minor 52.0 ” podczas uruchamiania ./gradlew makeJar w celu utworzenia biblioteki jar przez Android Studio 2.2.3.

Po przeniesieniu w dół wersji wtyczki gradle w build.gradle z 2.2.2 do 2.1.3 komunikat o błędzie zniknął i wszystko działało dobrze. classpath „com.android.tools.build:gradle: 2.1.3

Nie wiem, jak wyższa wersja wtyczki gradle spowodowała błąd, ale to załatwiło sprawę. daj mi znać, jak to działało, jeśli znasz odpowiedź, dzięki

Paul Y
źródło
bardzo dziękuję za zwrócenie uwagi 2.1.3. rozwiązało mój problem!
artman
4

1, upewnij się, że Gradle Gradle JVM Version wprowadź opis obrazu tutaj

2, upewnij się, że zestawy SDK ProjectSettings Veriosn wprowadź opis obrazu tutaj

lingyfh
źródło
3

Dla mnie aktualizacja Android Studio do najnowszej wersji rozwiązała problem.


źródło
3

Próbowałem znaleźć rozwiązanie tego problemu, wypróbowałem większość rozwiązań wymienionych w tym wątku. Nie jestem jednak pewien, dlaczego tak się stało. Prawdopodobnie błąd w Android Studio. W każdym razie to rozwiązało problem:

Usunięto plik build.gradle na poziomie aplikacji:

  classpath 'com.android.tools.build:gradle:2.2.0-beta1'

zastąpiony przez:

classpath 'com.android.tools.build:gradle:2.0.0'
sid_09
źródło
2

Dzieje się tak z powodu niezgodnej wersji Java, której używasz w Android Studio oraz wersji Java, która była używana z importowanym projektem. Idź do. File->Project structure->Change jdk 1.7 to jdk 1.8Następnie Idź do File->click on Invalidate cachei uruchom ponownie. Mam nadzieję że to pomoże..

I zmień ścieżkę klas zależności w pliku gradle

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.3'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
Anshul Aggarwal
źródło
1

Zmiana z Java SDK na Java 8 zadziałała dla mnie. Ustawienia Android Studio: Plik -> inne ustawienia -> Domyślna struktura projektu -> Lokalizacja JDK -> jdk1.8.0_71.jdk / Contents / Home

meeza
źródło
1

Upewnij się, że wykonałeś czystą kompilację po zmianie wersji Java. Okazuje się, że Android Studio działa po przełączeniu JDK, ale nie czyści obszaru roboczego i powoduje zamieszanie¯\_(ツ)_/¯

Alex Styl
źródło
1

Ten błąd „Nieobsługiwana wersja major.minor 52.0” odnosi się do kompilatora java, chociaż ciąg „major.minor” wygląda bardzo podobnie do formatu wersji Android SDK.

Na platformie Windows, poza aktualizacją jdk do 1.8, upewnij się, że JAVA_HOME wskazuje miejsce, w którym jest zainstalowany twój jdk 1.8 (tj. C: \ Program Files \ Java \ jdk1.8.0_91).

somard
źródło
1

Musiałem zaktualizować wersję Javy do JDK 8 w Jenkins-> Manage Jenkins-> Global Tool Configuration-> JDK .

ViliusK
źródło
1

Zmiana z Java SDK na Java 8 i działała dla mnie

Ustawienia Android Studio:

Plik> inne ustawienia> Domyślna struktura projektu> Lokalizacja JDK> jdk1.8.0_71.jdk / Contents / Home wprowadź opis obrazu tutaj

Uğur KANTEKİN
źródło
Najpierw odpowiedziałem @intellij amiya, a potem musiałem to zrobić, aby to zadziałało, dzięki!
Peter P.
1

Android Studio zachowuje się dziwnie w tym przypadku. Nawet jeśli ustawisz wersję JDK w Plik -> Struktura projektu -> Lokalizacja SDK, Android Studio używa tego tylko do kompilowania plików. Kiedy uruchamia te pliki, z jakiegoś powodu sprawdza zmienną PATH, aby dowiedzieć się, gdzie jest zainstalowana Java.

Jeśli masz w systemie zainstalowaną starszą wersję Java, zmienna PATH będzie wskazywać na starszą wersję java.

Musisz więc ustawić PATH tak, aby wskazywał na tę samą wersję Java, która została ustawiona w ustawieniach projektu Android Studio.

W swoim ~ / .bashrc lub odpowiednim pliku profilu dodaj to:

export PATH = "/ Applications / studio.app / Contents / jre / jdk / Contents / Home / bin: $ PATH"

W moim przypadku mój projekt był skonfigurowany do używania javy 1.8, ale moja instalacja java w całym systemie to java 1.7. To powodowało problem.

user3282666
źródło
0

W moim przypadku moja oryginalna Android SDK Build-toolswersja to 24, a Andoid SDK Toolswersja to 25.1.7. Instaluję Android SDK Build-tools version 23.0.3przez menedżera Andoird SDK.

Zmodyfikuj te 2 wiersze, aby:

buildToolsVersion "23.0.3" compileSdkVersion 24

Wtedy to działa!

Fang-Hua Hsu
źródło
0

Pobierz najnowszy JDK i zainstaluj. Przejdź do narzędzi VS2015> Opcje> Xamarin i zmień język Java na najnowszą lokalizację JDK

Marco Duindam
źródło
0

Ponadto, jeśli problem pojawia się podczas wykonywania ./gradlewpolecenia, ustawienie gradle.propertieskatalogu głównego java w pliku rozwiązuje ten problem:

org.gradle.java.home=/usr/java/jdk1.8.0_45/

ViliusK
źródło
0

Dla mnie problem polegał na tym, że wersja gradle w build.gradle nie była taka sama jak rzeczywista wersja gradle, którą zainstalowałem.

dependencies { classpath('com.android.tools.build:grade:2.2.0') { force = true}

Sprawdź zainstalowane wersje gradle w / Contents / gradle / m2repository / com / android / tools / build / gradle / i zmień powyższy plik build.gradle za pomocą

classpath('com.android.tools.build:grade:1.5.1') lub <>

rzadkijewel
źródło
0

Otrzymałem ten sam błąd i miałem JDK 8 ustawiony jako JAVA_HOME. Okazało się, że mam zainstalowane narzędzia Android SDK Build-tools rev 25.0.2. Usunąłem to i zamiast tego zainstalowałem 23.0.2 i zadziałało.

Zela
źródło
-1

zmień na
buildToolsVersion „23.0.2” w pliku oceny aplikacji.

Sangram Haladkar
źródło
To nie jest powód.
IntelliJ Amiya