Versione major.minor 52.0 non supportata durante il rendering in Android Studio


106

Quando provo a eseguire il rendering di un'anteprima del layout in Android Studio ottengo un errore:

Major.minor versione 52.0 non supportata


Devi dichiarare il sistema operativo e la versione Java. Aggiorna a una versione più recente di Java. Se su Debian, assicurati di usare Debian Stretch (8.9, Java 8) invece di Debian Jessie (8.1, Java 7).
jww

Risposte:


99

Controlla JAVA_HOMEdi usare jdk 1.8

Controlla anche: il parametro in Android Studio per cambiare in

File-> Altre impostazioni-> Struttura progetto predefinita-> SDK


4
Ciao, ho il jdk1.8 installato e "collegato" nella struttura del progetto e il problema persiste
Kotik_o

La tua risposta è carina, ma forse aggiungi che quando apri Project Structure, vedi una panoramica dei problemi attuali come la versione JDK.
jobbert

1
Grazie; solo l'installazione di JDK 8 e l'impostazione nella struttura del progetto predefinita ha funzionato per me.
pipedreambomb

1
Su OSX, ho impostato JAVA_HOME su / Applications / Android Studio.app/Contents/jre/jdk/Contents/Home, ho risolto il problema.
Zhang Buzz

Ho scoperto che l'impostazione JAVA_HOMEnon è necessaria, ma l'utilizzo di File->Project Structureis. Inoltre è possibile impostare il valore su "Usa JDK incorporato".
ThomasW

70

Questo è un bug in Android Studio. Di solito viene visualizzato un errore: major.minor versione 52.0 non supportata

SOLUZIONE: se hai installato Android N, cambia la versione di rendering di Android con una precedente e il problema scomparirà.

SOLUZIONE: installa Android SDK Tools 25.1.3 (strumenti) o versioni successive

inserisci qui la descrizione dell'immagine


Hahaha quanto è semplice? E qui pensavo di essere stato per ore di ricerca per correggere questo errore .. / emote wipes brow
Jacksonkr

12
Dov'è questa finestra di anteprima? La voce di menu My View \ Tool Windows \ Preview è disabilitata.
Lorek

Sto usando Eclipse 4.5.2 e Android SDK Tools è 24.4.1 e ADT è 23.0.7. Ho lo stesso errore. Come dovrei risolverlo?
Dr.jacky

@ Mr.Hyde Stai usando JDK 1.8?
rm8x

Può essere più preciso? Come posso cambiarlo? Quali comandi?
João Pimentel Ferreira

41

Ho fatto tutto, impostando JAVA_HOME, JAVA8_HOME, ... e ho sempre avuto l'errore. Per me la soluzione era impostare la versione 2.1.0 di gradle in modo che funzionasse con Jdk 1.8.0_92 e Android Studio 2.11

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

1
Ho cercato su Google per 2 ore per risolvere questo problema. Mi hai salvato la vita!
Soohwan Park

SÌ! Questo ha risolto anche per me, nessuna delle altre risposte suggerite ha funzionato. Ho avuto il problema su un progetto che era vecchio di pochi mesi e quando ho provato ad aprirlo su un nuovo computer con Android Studio fresco.
Mattias Petter Johansson

Questo ha funzionato per me grazie .. !! Ma perché mi ha dato un errore. Seguendo classpath ho impostato classpath 'com.android.tools.build:gradle:2.3.0-alpha2'
Parin Parikh

36

Per quelli di voi che stanno ancora affrontando questo. Ho riscontrato questo problema dopo aver eseguito l'aggiornamento ad Android Studio a 2.1.2. Sono rimasto bloccato su questo problema per circa un'ora, ho provato queste soluzioni:

  1. multidexEnabled true
  2. aumentare la memoria per il filo del demone
  3. aggiornato a Java 8

Ho ricontrollato gli script gradle e ho trovato questo:

 compileSdkVersion 23
 buildToolsVersion "24.0.0"

cambiato in:

compileSdkVersion 23
buildToolsVersion "23.0.3"

Non so come questo abbia causato l'errore, ma questo ha funzionato per me. Per favore fatemi sapere come ha funzionato se conoscete la risposta. Grazie


Grazie. Questo ha risolto il problema che avevo durante la compilazione del mio progetto Android.
stevehs17

L'aggiornamento a Java 8 era tutto ciò di cui avevo bisogno
rm8x

28

Major.minor versione 52.0 non supportata

Quando un JDK superiore viene utilizzato per la compilazione, crea un file di classe con una versione superiore e quando viene utilizzato un JDK inferiore per eseguire il programma, ha rilevato che la versione superiore del file di classe non è supportata a livello JVM e risulta in java.lang.UnsupportedClassVersionError.

Come risolvere

  • Aumenta la versione di JAVA che stai utilizzando per eseguire il tuo programma

Puoi seguire alcuni trucchi

  • Chiama il classpath della versione stabile "com.android.tools.build:gradle:2.1.0" // 2.3.0

Configurazione di Gradle

Per abilitare le funzionalità del linguaggio Java 8 e Jack per il tuo progetto, inserisci quanto segue nel tuo file build.gradle a livello di modulo:

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

La cortesia va alle funzionalità del linguaggio Java 8

Basta selezionare "API 23: Android 6.0" dalla sezione di anteprima.

inserisci qui la descrizione dell'immagine


@fantasy mio piacere.
IntelliJ Amiya

Ho dovuto abbassare il gradle e includere le opzioni del jack Java. Tuttavia ancora non capisco perché si verifica l'errore e come verrà risolto in futuro. Ho tutto aggiornato alle ultime versioni: /
htafoya

25

Se visualizzi questo errore e hai appena eseguito l'aggiornamento ad Android Studio 2.2+, devi aggiornare il tuo JDK nelle opzioni "Struttura del progetto".

Su OSX, questo si trova sotto File > Project Structure > SDK. O dalla schermata di benvenuto in Configure > Project Defaults > Project Structure.

Seleziona l' Use the embedded JDK (recommended)opzione invece di utilizzare il tuo JDK.

I documenti di Google non sono ancora aggiornati per riflettere questo cambiamento. Vedi: http://tools.android.com/tech-docs/configuration/osx-jdk


7

Nel mio caso ho dovuto modificare le dipendenze del build.gradlefile in:

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

(originariamente era 2.2.2 ) Immagino che questo sia stato generato da diverse persone che lavoravano allo stesso progetto con diverse versioni di gradle. Quindi controlla la tua versione gradle e modifica correttamente questo file.

Buone vibrazioni!


7

Con l'ultima versione, ti consigliamo di passare al JDK incorporato come nell'immagine qui sotto, e questo risolverà il tuo errore

risolvere l'errore major.minor versione 52.0


Non mi interessavano tutti gli scherzi con le diverse versioni di SDK e JDK consigliate qui, ma stavo per farlo e ho scoperto l'opzione "Usa JDK incorporato", che ha funzionato. Stavo per pubblicare quella soluzione e ho visto la tua. Questa dovrebbe essere la soluzione corretta, IMHO.
David Gish

Lo stesso di @DavidGish questa soluzione l'ha inchiodata
Jeremy Piednoel

4

Ho anche ricevuto lo stesso messaggio di errore di " major.minor versione 52.0 non supportata " durante l'esecuzione di ./gradlew makeJar per creare una libreria jar con Android Studio 2.2.3.

Dopo aver spostato la versione del plugin gradle in build.gradle da 2.2.2 a 2.1.3 , il messaggio di errore è scomparso e tutto ha funzionato bene. classpath "com.android.tools.build:gradle: 2.1.3 "

Non so come la versione più alta del plugin gradle abbia causato l'errore, ma questo ha funzionato per me. per favore fammi sapere come ha funzionato se conosci la risposta, grazie


grazie mille per aver sottolineato 2.1.3. ha risolto il mio problema!
artman

4

1, assicurati che Gradle Gradle JVM Version inserisci qui la descrizione dell'immagine

2 、 assicurati che ProjectSettings SDKs Veriosn inserisci qui la descrizione dell'immagine


3

Per me, l'aggiornamento di Android Studio all'ultima versione ha risolto il problema.


3

Ho provato a trovare una soluzione a questo problema, ho provato la maggior parte delle soluzioni menzionate in questo thread. Tuttavia, non sono molto sicuro del motivo per cui ciò stava accadendo. Probabilmente un bug in Android Studio. Comunque, questo è ciò che ha risolto il problema:

In build.gradle a livello di applicazione, rimosso:

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

sostituito con:

classpath 'com.android.tools.build:gradle:2.0.0'

2

Ciò si verifica a causa della versione java incompatibile che stai utilizzando in Android Studio e della versione java utilizzata con il progetto importato. Vai a, File->Project structure->Change jdk 1.7 to jdk 1.8dopodiché vai a File->click on Invalidate cachee riavvia. Spero che questo ti aiuti..

E cambia il classpath della dipendenza nel file 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
}

1

Il passaggio a Java SDK a Java 8 ha funzionato per me. Impostazioni di Android Studio: File -> altre impostazioni -> Struttura del progetto predefinita -> Posizione JDK -> jdk1.8.0_71.jdk / Contents / Home


1

Assicurati di eseguire una build pulita dopo aver modificato una versione di Java. A quanto pare, Android Studio funziona quando si cambia JDK ma non pulisce l'area di lavoro e crea confusione¯\_(ツ)_/¯


1

Questo errore "major.minor versione 52.0 non supportata" si riferisce al compilatore java, sebbene la stringa "major.minor" sia molto simile al formato della versione di Android SDK.

Sulla piattaforma Windows, oltre all'aggiornamento di jdk a 1.8, assicurati che JAVA_HOME punti a dove è installato jdk 1.8 (cioè C: \ Program Files \ Java \ jdk1.8.0_91).


1

Ho dovuto aggiornare la versione Java a JDK 8 su Jenkins-> Manage Jenkins-> Global Tool Configuration-> JDK .


1

Passare a Java SDK a Java 8 e ha funzionato per me

Impostazioni di Android Studio:

File> altre impostazioni> Struttura del progetto predefinita> Posizione JDK> jdk1.8.0_71.jdk / Contents / Home inserisci qui la descrizione dell'immagine


Prima ho risposto @intellij amiya, e poi ho dovuto farlo per farlo funzionare, grazie!
Peter P.

1

Android Studio si comporta in modo strano nel caso. Anche se imposti la versione JDK in File -> Struttura progetto -> Posizione SDK, Android Studio lo utilizza solo per compilare i file. Quando esegue questi file, per qualche motivo, guarda la variabile PATH per trovare dove è installato java.

Se hai una versione precedente di java installata sul tuo sistema, la tua variabile PATH punterà a quella versione precedente di java.

Quindi devi impostare il tuo PATH in modo che punti alla stessa versione di java che hai impostato nelle impostazioni del tuo progetto di studio Android.

Nel tuo ~ / .bashrc o nel file del profilo corrispondente aggiungi questo:

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

Nel mio caso il mio progetto era configurato per utilizzare java 1.8, ma l'installazione di java a livello di sistema era java 1.7. Questo stava causando il problema.


0

Nel mio caso, la mia Android SDK Build-toolsversione originale è la 24 e la Andoid SDK Toolsversione 25.1.7. Ho installato Android SDK Build-tools version 23.0.3da Andoird SDK manager.

Modifica queste 2 righe in:

buildToolsVersion "23.0.3" compileSdkVersion 24

Allora funziona!


0

Scarica l'ultimo JDK e installa. Vai a Strumenti VS2015> Opzioni> Xamarin e modifica il java nell'ultima posizione JDK


0

Inoltre, se il problema viene visualizzato durante l'esecuzione del ./gradlewcomando, l'impostazione di Java home nel gradle.propertiesfile, risolve questo problema:

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


0

Per me il problema era che la versione di gradle in build.gradle non era la stessa dell'effettiva versione di gradle che avevo installato.

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

Controlla le versioni gradle installate in / Contents / gradle / m2repository / com / android / tools / build / gradle / e modifica il file build.gradle sopra con

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


0

Ho ricevuto lo stesso errore e avevo JDK 8 impostato come JAVA_HOME. Si è scoperto che avevo installato Android SDK Build-tools rev 25.0.2. Ho rimosso questo e installato 23.0.2 invece e ha funzionato per me.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.