it-swarm.com.de

Nicht unterstützte major.minor-Version 52.0 in meiner App

Ich versuche mein Projekt Android zu kompilieren und erhalte diesen Fehler

[INFO] Exception in thread "main" Java.lang.UnsupportedClassVersionError: com/Android/dx/command/Main : Unsupported major.minor version 52.0
[INFO]  at Java.lang.ClassLoader.defineClass1(Native Method)
[INFO]  at Java.lang.ClassLoader.defineClass(ClassLoader.Java:800)
[INFO]  at Java.security.SecureClassLoader.defineClass(SecureClassLoader.Java:142)
[INFO]  at Java.net.URLClassLoader.defineClass(URLClassLoader.Java:449)
[INFO]  at Java.net.URLClassLoader.access$100(URLClassLoader.Java:71)
[INFO]  at Java.net.URLClassLoader$1.run(URLClassLoader.Java:361)
[INFO]  at Java.net.URLClassLoader$1.run(URLClassLoader.Java:355)
[INFO]  at Java.security.AccessController.doPrivileged(Native Method)
[INFO]  at Java.net.URLClassLoader.findClass(URLClassLoader.Java:354)
[INFO]  at Java.lang.ClassLoader.loadClass(ClassLoader.Java:425)
[INFO]  at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:308)
[INFO]  at Java.lang.ClassLoader.loadClass(ClassLoader.Java:358)
[INFO]  at Sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.Java:482)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------

Ich habe in einem anderen Beitrag gelesen, dass der Versuch, mit Java 8 zu kompilieren, diesen Fehler verursachen könnte, aber nicht meinen Fall. Ich habe die folgende Java Version:

Java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

Betriebssystem: Linux Mint (Ich habe Java 8 nicht installiert.) Build: MAVEN

Kann mir jemand dabei helfen?

127
Rafael Reyes

Dieses Problem tritt auch auf, wenn ich ein neues Projekt in Android Studio erstelle.

Ich konnte dieses Problem beheben, indem ich buildToolsVersion in der App-Gradle-Einstellung heruntergestuft habe: Ändern Sie die Zeile {Modulname} /build.gradle

buildToolsVersion "24.0.0 rc1"

zu

buildToolsVersion "23.0.3"


@Bearbeiten:
In Android Studio 2.1 Gehen Sie zu Datei-> Projektstruktur-> App -> Build Tool Version. Ändern Sie es auf 23.0.3

Führen Sie die oben beschriebene Methode nur aus, wenn Sie Java Version 7 verwenden und aus irgendeinem Grund noch kein Upgrade auf Java 8 durchführen möchten.

Hoffe das hilft

237
Rudy Kurniawan

Gradle Scripts >> build.gradle (Modul-App)

Ändern Sie buildToolsVersion "24.0.0" in buildToolsVersion "23.0.3"

quelle: Erfahrung

43

Anfangs hatte ich buildToolsVersion von 24.0.0 rc3 auf 23.0.3 herabgestuft, wie in Rudy Kurniawans Antwort angegeben. Dann ist mir aufgefallen, dass ich in meinen Projekteinstellungen jdk 7 angegeben habe. Ich habe es auf jdk 8 geändert und baue jetzt Tools, die 24.0.0 rc3 funktionieren.

enter image description here

Es ist auch wichtig, dass die Kompilierungsoptionen auf Java7 gesetzt sind:

Android {
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}
31
Denis Kniazhev

Ich habe Android Studio zusammen mit Xamarin Visual Studio installiert (war bereits installiert). Nach der Installation (SDK ausgeschlossen, da bereits installiert) habe ich Android Studio gestartet und heruntergeladen, installiert und fehlende SDKs hinzugefügt (nachdem der Pfad zum SDK-Speicherort angegeben wurde). Als Ergebnis bekam ich die Fehlermeldung beim Build

Java.lang.UnsupportedClassVersionError: com/Android/dx/command/Main: Nicht unterstützte major.minor-Version 52.0

Als Lösung habe ich jdk-8u101-windows-i586.exe ohne JRE installiert (weil es bereits installiert war). Bevor ich die x64-Version ausprobiert habe, ist sie jedoch verschwunden ... Dann müssen Sie den Speicherort Java Development Kit ändern.

Change JDK location

Klicken Sie dazu in Visual Studio auf Extras> Optionen> Xamarin> Android Einstellungen. Hier können Sie zum richtigen Ort navigieren. In meinem Fall war es C:\Program Files (x86)\Java\jdk1.8.0_101.

Zum Schluss bereinige dein Projekt und erstelle einen neuen Build :-)

14
testing

Das angegebene Problem:

Ausnahme im Thread "main" Java.lang.UnsupportedClassVersionError: com/Android/dx/command/Main: Nicht unterstützte major.minor-Version 52.

wird verursacht, wenn innerhalb des build.gradle, buildToolsVersion 24 deklariert wird und wir nicht Java 8 installiert haben, das für diese Version erforderlich ist . Um dieses Problem zu lösen, müssen wir von buildToolsVersion von 24 auf maximal 23 wechseln:

enter image description here

Für Android Studio muss in Zukunft Java 8 erforderlich sein, daher müssen wir Java 8 verwenden.

8
Jorgesys

Ich hatte das gleiche Problem mit meinem IntelliJ Maven Build. Meine "Lösung" bestand darin, in die Build-Tools zu gehen und den Ordner "Build-Tools 24.0.0" zu entfernen. Ich habe es im Verzeichnis {Android-sdk-location}/build-tools/ gefunden. Dies ist keine langfristige Lösung, aber dies sollte zumindest dazu führen, dass Ihr Projekt erneut erstellt wird. Ein Upgrade auf Java 8, wie von vielen vorgeschlagen, ist langfristig besser.

6
sotrh

Was hier niemand sagt ist, dass mit Build Tools 24.0.0 Java 8 erforderlich ist und die meisten Leute entweder 1.6 oder 1.7 haben.

Wenn Sie also das Build-Tool auf 23.x.x setzen, wird das Problem "gelöst", aber die Hauptursache ist die Java -Version auf Ihrem System.

Langfristig empfiehlt es sich, die Entwicklungsumgebung so zu aktualisieren, dass JDK8 verwendet wird, um die neuen Sprachverbesserungen und den Jack-Compiler zu nutzen.

5
Jay Sidri

52 ist der Code für JDK 8. Sie können dies hier sehen: http://javarevisited.blogspot.com/2015/05/ Fixing-unsupported-majorminor-version.html . Daher erwartet Gradle, dass Sie JDK 8 als Standardversion Java auf Ihrem Computer haben. Die neuesten Versionen von Gradle für Android funktionieren nicht mit Java 7.

Die Lösung ist einfach: Machen Sie Java 8 zur Standard-JDK-Version auf Ihrem Computer.

5
IgorGanapolsky

Ich bin in Android Studio 2.0 und stehe vor dem gleichen Problem. Die von Rudy Kurniawan bereitgestellte Lösung hat dieses Problem gelöst. Die betroffene Datei kann gefunden werden durch:

"Project" -> "Android" -> "Gradle Scripts" -> "build.gradle (Module: app)"

Das Fenster "Projekt" befindet sich standardmäßig links. Um es zu finden, überprüfen Sie den Namen der seitlichen Registerkarten, klicken Sie darauf und verwenden Sie das obere Pulldown-Feld, um zu "Android" zu gelangen. Erweitern Sie den Baum im Bereich, um die Zieldatei zu finden. Doppelklicken Sie darauf, um es zu bearbeiten.

4
coarist

Sorry für die späte Antwort. Hoffentlich hilft es jemand anderem

Dieses Problem hängt mit Ihrem SDK zusammen, nicht mit Ihrem JDK. Sie können Ihre Versionsinformationen von überprüfen

Hilfe> Info> Details anzeigen

Sie werden so etwas bekommen

Xamarin.Android Version: 6.0.2.1 (Starter Edition) Android SDK: X:\Android\android-sdk

Unterstützte Android Versionen:

4.0.3 (API Level 15)

4.4 (API Level 19)

6,0 (API-Stufe 23)

SDK Tools Version: 24.4.1

SDK Platform Tools Version: 23.0.1

SDK Build Tools Version: 24 rc2

Java SDK: X:\Programme (x86)\Java\jdk1.7.0_71

Java-Version "1.7.0_71"

Java (TM) SE-Laufzeitumgebung (Build 1.7.0_71-b14)

Java HotSpot (TM) Client VM (Build 24.71-b01, gemischter Modus, Freigabe)

Wenn Sie Vorschau-Tools zum Erstellen verwenden, werden überall ähnliche Fehler angezeigt.

Was ist jetzt zu tun?

gehe zu

Extras -> SDK-Manager

  1. Wählen Sie alle Elemente in Vorschau-Kanälen aus, einschließlich Android SDK build tools mit rev 24rc2 oder 24rc4 (spätestens)

  2. Klicken Sie auf Delete 'n' packages

So schalten Sie den Vorschau-Kanal aus

  1. Wählen Sie im SDK-Manager

    Extras> Optionen

  2. Deaktivieren Sie Enable preview tools

nd was

Zurück zu Ihrem Code Bereinigen Sie alle und Neuerstellungen (In seltenen Fällen können Sie müssen Build-Tools auf der Projekteinstellungsseite auswählen)

4
Habel Philip

Dieses Problem trat auch bei der Erstellung eines neuen Projekts in Eclipse auf.

  1. Öffnen Sie Ihr Eclipse-Installationsverzeichnis
  2. Öffnen Sie die Datei Eclipse.ini
  3. Ändern

    Dosgi.requiredJavaVersion=1.6 
    

    zu

    Dosgi.requiredJavaVersion=1.7
    

Hoffe das hilft

4
user6661437

Erhalten Sie diese Fehlermeldung auf dem Travis Build Server?

Ich habe mein travis build mit buildToolsVersion "24.0.2" korrigiert

# travis build 
language: Android

jdk:
  - oraclejdk8

Android:
  components:
    - tools
    - build-tools-24.0.2
    - Android-23

    - add-on
    - extra

script:
  - jdk_switcher use oraclejdk8
  - ./gradlew assemble
2
k3b

In meinem Fall war das Standard-JDK 1.7, dann habe ich es in 1.8 geändert, indem ich zu dem genauen Ordner gesucht habe, in dem sich das aktualisierte JDK befindet.

2
Hedego

Vielen Dank an alle für die Lösung.

Ich könnte das gleiche Problem mit der folgenden Lösung lösen.

In meinem Projekt habe ich jar hinzugefügt, die in Java8 erstellt wurden. Und mein Projekt bezog sich auf JRE 7. Als ich Projekt JRE auf 8 änderte, löste sich mein Problem.

Schritte: Klicken Sie in Eclipse mit der rechten Maustaste auf den Projektnamen im Projekt-Explorer> Erstellungspfad> Bibliotheken> klicken Sie auf JRE-Version> klicken Sie auf Bearbeiten> Installierte JRE> Hinzufügen> Standard VM> wählen Sie JRE-Start-Klickpfad (Pfad sollte be localePath\Java\jdk1.8.0_25\jre)> Geben Sie einen Namen an> speichern Sie> wählen Sie dieselbe JRE für das Projekt aus> beenden Sie> ok Aktualisieren/erstellen Sie das Projekt einmal> versuchen Sie, Ihre Java -Datei auszuführen. es sollte funktionieren.

2
haithem

Ihre Android Build-Tools sind nicht ordnungsgemäß installiert. Versuchen Sie, eine andere Version der Build-Tools zu installieren, und geben Sie diese Version in der gradle-Datei an. oder Sie können in dieses Verzeichnis gehen

C:\Benutzer \\ AppData\Local\Android\sdk\Build-Tools

und sehen, welche Build-Tools installiert sind. Versuchen Sie, die Build-Tool-Version in der Gradle-Datei zu ändern, und kompilieren Sie die App, um festzustellen, ob sie funktioniert.

ich hatte 22.0.1.23.0.02 und 24.0.0 Versionen von Build-Tools und nur die alte 22.0.1-Version funktionierte.

quelle: Ich habe es selbst ausprobiert und es hat bei mir funktioniert.

1
Swathin

Dieses Problem beruht auf der Tatsache, dass Ihre Build-Tool-Version und Ihr JDK nicht zusammenarbeiten. Ich habe JDK Version 7 mit Build Tool 24.0.1 verwendet. Eine niedrigere Version des Build-Tools kann das Problem möglicherweise beheben, ist jedoch keine echte Lösung, da ein Upgrade Ihrer Build-Tools in Zukunft zu einem erneuten Absturz führen wird.

Sie sollten sicherstellen, dass Build-Tool-Version und JDK zusammenarbeiten. Ich habe mein Build-Tool auf die neueste Version (24.0.1) aktualisiert und jdk8 installiert. Stellen Sie sicher, dass Sie Java_HOME auf den neuesten Stand bringen, und versuchen Sie dann, eine saubere Version zu erstellen.

1
GodOnScooter

Ich hatte das gleiche Problem und habe versucht, die Version zu ändern, manchmal ist für die Version von Android Studio in Projekt> Gradle Scripts> build.gradle (Modul: App) die Version änderbar. Zum Beispiel:

Android {
    compileSdkVersion **23**
    buildToolsVersion **"23.0.3"**

    defaultConfig {
        applicationId "com.example.Android.myapplication"
        minSdkVersion **19**
        targetSdkVersion **23**
        versionCode **1**
        versionName **"1.0"**
    }
1
Gladys Sanchez

Das gleiche Problem gab es auch außerhalb von Android Studio, als versucht wurde, mit dem Befehl sdk von der Befehlszeile aus für Cordova zu erstellen (Cordova Build Android).

Die von Rudy bereitgestellte Lösung funktioniert auch in diesem Fall. Sie stufen die Version von Build Tools nicht von Android Studio herunter, sondern verwenden die Android SDK-Manager-Benutzeroberfläche.

1
Andrea Gherardi

Von diese Frage.

Sie können versuchen, Ihre Compilerstufe in der IDE, die Sie verwenden, auf 1,7 zurückzusetzen.

  • Wenn Sie Eclipse verwenden, gehen Sie zu Windows ---> Einstellungen, wählen Sie Java aus, erweitern Sie es, wählen Sie Compiler aus und ändern Sie die Konformitätsstufe auf 1.7.
  • Wenn Sie mit Android Studio arbeiten, können Sie dies zu Ihrem build.gradle hinzufügen

    Android {
        compileSdkVersion 19
        buildToolsVersion "19.0.0"
    
        defaultConfig {
            minSdkVersion 7
            targetSdkVersion 19
        }
    
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
    }
    

Wenn dies nicht hilft, überprüfen Sie die Antwort des anderen über den oben genannten Link und teilen Sie uns mit, was Ihnen geholfen hat.

1
cristianorbs

Die einfachste Lösung ist, dass Sie Ihr JDK auf die neueste Version aktualisieren müssen. Weil Cordova nur das neueste JDK unterstützt.

1 . Zuerst müssen Sie Ihr Android SDK aktualisieren. Dann,

2. Wenn Sie keine Aktualisierung über Ihr Terminal durchführen können, rufen Sie Ihr Software-Center auf von Linux destro und suchen Sie das Neueste (welches Sie installieren möchten) und installieren Sie dieses.

Führen Sie dann erneut Cordova build aus.

Es wird das Problem lösen.

In meinem Fall hat es funktioniert.

0
PyDevSRS

ein nicht unterstützter Major-Minor-Versionsfehler kann auf eine nicht unterstützte JDK-Version zurückzuführen sein. Aktualisieren Sie das JDK, gehen Sie zu Moduleinstellungen und ändern Sie den JDK-Pfad auf den neuen. In den meisten Fällen wird der Fehler behoben.

0
Rachit Murarka

Sie müssen in Ihr SDK-Installationsverzeichnis gehen und sicherstellen, dass das /build-tools -Unterverzeichnis mit dem buildToolsVersion in Ihrer App übereinstimmt build.gradle Datei: enter image description here

0
IgorGanapolsky

Ich bin gerade auf dieses Problem gestoßen.

Durch das Zurücksetzen der "Preview Channel" -Versionen der SDK-Tools und das Erstellen von Tools auf die neueste stabile Version wurde das Problem behoben.

0
Mike Playle

Das Ändern von com.Android.tools.build:gradle:2.2.0-beta1 zu com.Android.tools.build:gradle:2.1.2 hat das Problem für mich behoben.

Meine Android Studio-Version ist 2.1.2, vielleicht ist das der Grund

0
ericn

Ich hatte dieses Problem zu lange (SO usw. hatten nicht geholfen) und es gerade erst gelöst (mit SDK 25).

-Die Datei local.properties proguard.dir var wurde nicht mit ant angewendet. Ich habe 5.3.2 angegeben, aber ein Befehlszeilenaufruf und signierter Exportbuild (Eclipse) verwendeten 4.7 aus dem SDK-Verzeichnis (nur 5+ unterstützen Java 8).

Meine Lösung bestand darin, die Proguard-Jars (Android-SDK/tools/proguard/libs-Verzeichnis) im SDK durch eine aktuelle (5+) Version von Proguard zu ersetzen.

0
rndStr

Überprüfen Sie, ob Sie die neueste Version des SDK in C:\Program Files\Java oder C:\Program Files (x86)\Java installiert haben.

Gehen Sie dann zu VS2015 und folgen Sie den Pfad Tools - Optionen - Xamarin - Android Einstellungen und wählen Sie im Abschnitt JDK-Speicherort die Option Ändern und suchen Sie nach der Version, die Sie entweder x64 oder x32 haben.

0
genomma

Ich bin auf Cordova, hier ist was ich getan habe:

- Benennen Sie Ihr Projekt Android um, sodass Platz für ein neues vorhanden ist
- Update von Java Development Kit auf 1.8 (spätestens zum Zeitpunkt des Schreibens dieses Dokuments)
- cordova platform add Android ausführen

Sollte jetzt ohne Probleme funktionieren. Ihr App-Hash ändert sich, wenn Sie ihn also verwenden, z. Für die Facbeook-Anmeldung müssen Sie diese aktualisieren

0
mate.gwozdz