wake-up-neo.com

java Lang UnsupportedClassVersionError in Xamarin Studio

Ich erhalte die folgende Fehlermeldung, wenn ich mein Projekt baue. Wie korrigiere ich das?

C:\Programme (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets (3,3): Fehler: Java.lang.UnsupportedClassVersionError: de/Android/dx/command/Main: Nicht unterstützte major.minor Version 52.0 (FGH)


Meine Versionsinformationen aus Hilfe> Info> Details anzeigen :

Xamarin.Android Version: 6.0.2.1 (Starter Edition)
Android SDK: C:\Benutzer\Admin\AppData\Local\Android\android-sdk

Unterstützte Android-Versionen:

  • 4.0.3 (API-Ebene 15)
  • 4.4 (API-Ebene 19)
  • 6.0 (API-Ebene 23)

SDK-Tools Version: 24.4.1
SDK-Plattformtools Version: 23.0.1
SDK Build Tools-Version: 24 rc2

Java SDK: C:\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)

39
Dikshit Kalra

Die Version 52.0 bezieht sich hier auf die spezifische Version des JDK, die sich in diesem Fall auf das JDK 8 bezieht.

Xamarin.Android 7.0 erfordert JDK 1.8 , Um die Android Nougat-APIs (API 24) zu verwenden. Sie können frühere Versionen des JDK weiterhin verwenden, wenn Sie auf frühere Android-API-Ebenen zugreifen möchten:

Darüber hinaus ist eine 64-Bit-Version des JDK erforderlich, um die benutzerdefinierten benutzerdefinierten Steuerelemente zu verwenden im Android Designer .

Die einfachste Option ist die Installation der 64-Bit-Version von JDK 1.8, da Rückwärtskompatibel mit allen vorherigen API-Levels ist und die neuen Designer-Features von Android unterstützt.

(Eine unglückliche Komplikation bei JDK 1.8 ist, dass nicht mit ___ der veralteten Version von Proguard im Android SDK enthalten ist.).... Dies verursacht derzeit einen Fehler "Nicht unterstützte Klassenversion number [52.0] "Wenn versucht, die Proguard- oder Multidex-Funktionen in Xamarin.Android zu verwenden. Siehe 44187 . Ich würde empfehlen, dass Sie diese Version auf der Seite der Standardversion von Android installieren Android-sdk\tools\proguard. Benennen Sie den vorhandenen Ordner einfach um, und fügen Sie die neue Version von proguard hinzu.)

50
Alan Clark

Nicht unterstützte Major-Minor-Version 52.0

Diese Fehlermeldung wird durch eine Inkompatibilität mit Java JDK verursacht: Android SDK Build-Tools ab Version 24 erfordern Java JDK 8 (1.8), während frühere Versionen noch mit Java JDK 7 (1.7) kompatibel waren. (Dies ähnelt älteren Antworten etwa dem gleichen Fehler.)

Schritte zum Update:

  1. Update auf Java JDK 8 . Es wird empfohlen, die 64-Bit-Version zu verwenden, um die Kompatibilität mit den neuen Xamarin Android Designer-Funktionen in Xamarin Studio 6.1 und Xamarin für Visual Studio 4.2 zu gewährleisten.

  2. Vergewissern Sie sich, dass Java JDK 8 in den Xamarin-Voreinstellungen ausgewählt ist:

    • Visual Studio: Extras> Optionen> Xamarin> Android-Einstellungen> Position des Java Development Kit.

       "Tools > Options > Xamarin > Android Settings > Java Development Kit Location" in Visual Studio

    • Xamarin Studio (auf dem Mac): Xamarin Studio> Voreinstellungen> Projekte> SDK-Speicherorte> Android> Java SDK (JDK).

       "Xamarin Studio > Preferences > Projects > SDK Locations > Android > Java SDK (JDK)"

  3. Installieren Sie Android SDK Build-Tools 24.0.1 oder höher.

  4. (Optional) Deinstallieren Sie die älteren Android SDK Build-Tools 24, die einen Fehler in aapt enthalten:

     

Alternativen:

Wenn Sie lieber noch nicht auf Java JDK 8 aktualisieren möchten, können Sie stattdessen eine der folgenden Aktionen ausführen.

  • Deinstallieren Sie alle Android SDK Build-Tools ab Version 24 über den Android SDK-Manager.

  • Oder setzen Sie die AndroidSdkBuildToolsVersion MSBuild-Eigenschaft auf eine frühere Version. Wenn Sie beispielsweise auch Version 23.0.3 installiert haben, können Sie die folgende Zeile innerhalb des <PropertyGroup>-Elements der Android-Projektdatei .csproj hinzufügen:

    <AndroidSdkBuildToolsVersion>23.0.3</AndroidSdkBuildToolsVersion>
    

(Siehe auch https://releases.xamarin.com/technical-bulletin-Android-sdk-build-tools-24/ .)


Zusätzliche Hintergrundinformationen

Update 25. Juli 2016:

Google hat jetzt Android SDK Build-Tools 24.0.1 veröffentlicht. Diese Version behebt einen Fehler in aapt , der in Version 24 vorhanden war.


Update vom 14. Juli 2016:

Nicht unterstützte Major-Minor-Version 52.0

Es stellt sich heraus, dass diese Fehlermeldung durch eine Inkompatibilität mit Java JDK und nicht mit Xamarin verursacht wird. Android: Android SDK Build-Tools Version 24 erfordert Java JDK 1.8, während frühere Versionen noch mit Java JDK 1.7 kompatibel waren. (Dies ähnelt älteren Antworten etwa dem gleichen Fehler.)


Update 16. Juni 2016:

Die Nicht-Vorschau-Version der Android SDK Build-Tools Version 24 ist jetzt im Android SDK Manager verfügbar. Xamarin.Android ist ebenfalls noch nicht mit dieser Version kompatibel.


Info vom 12. April 2016:

SDK Build Tools Version: 24 RC2

Die "Build Tools Version" sieht so aus, als könnte es das Problem sein. Xamarin.Android ist noch nicht mit der Build-Tools-Version "24 rc2" aus dem "Vorschau-Kanal" im Android SDK-Manager kompatibel. Sie können diese Vorschauversion deinstallieren und eine der Nichtvorschau-Versionen der Build-Tools (z. B. 23.0.3) mithilfe des Android SDK-Managers installieren.

64

LÖSUNG!

Ändern Sie das Java SDK in 1.8.x . Führen Sie nach dem Neustart von Visual Studio "Clean Solution", "Build" aus und seien Sie zufrieden!

 enter image description here

8
Edvaldo Silva

Laden Sie das neueste JDK herunter und installieren Sie es.

Dann geh zu:

  • VS2015 Tools> Optionen> Xamarin und ändern Sie Java auf den neuesten JDK-Speicherort. 
  • Xamarin Studio: Extras -> Optionen -> SDK-Speicherorte

Hoffe das hilft.

5

Wie Brendan Zagaeski sagte, ist dies ein Problem, das durch die Verwendung der Vorschau-Version von Build-Tools verursacht wurde 

Bitte folgen Sie diesen Schritten

  • Öffnen Sie den SDK-Manager
  • Wählen Sie Build-Tools mit Version 24rc2 aus. (Bitte stellen Sie sicher, dass nur dieses Element ausgewählt ist.)
  • Klicken Sie auf deinstallieren

UPDATE: Eine ausführliche Antwort finden Sie hier https://stackoverflow.com/a/37827161/5073734

** UPDATE 2016 Nov ** Einige meiner Freunde sagten mir, dass es auch mit den Nuget-Paketen passieren kann. Wenn das oben genannte Problem Ihre Probleme nicht löst, versuchen Sie, die Nuget-Pakete erneut zu installieren.

2
Habel Philip

Stellen Sie sicher, dass Sie in VS zu gehen 
Projekt> Projektname Eigenschaften> Anwendung 
Sie haben alle ausgewählten Versionen aus dem Android SDK heruntergeladen 

Nehmen wir an, Sie haben nur die APIs für Android 6.0 (Level 23) und 5.1.1 (Level 22) installiert, setzen jedoch Ihr Minimum Android als Ziel auf ein Level unter diesem Level 16. Es wird der Java.lang.UnsupportedClassVersionError: Fehler ausgegeben.

Stellen Sie nur sicher, dass Sie die richtige API-Stufe verwenden

1
mrOak

Mir ist klar, dass das jetzt ein bisschen älter ist, aber ich bin auch auf dieses Problem gestoßen und nichts, was ich online gefunden habe, könnte es lösen. Schließlich versuchte ich, einige installierte Nuget-Pakete (SQLite.Net) zu deinstallieren und erneut zu installieren. Danach wurde es kompiliert. Ich hoffe, dies ist für jemanden von Nutzen, der diese häufigeren Lösungen ausgeschöpft hat.

1
Unlearnd

Ich hatte das gleiche Problem, mein System hatte Java Version 1.7 installiert. Ich habe die Version 1.8 im System installiert. 

Jdk-Pfad wurde aktualisiert. Tools-> Options-> Xamarin-> Android-Einstellungen -> (Speicherort des Java-Entwicklungskits) setzen den jdk-Pfad auf die neue Jdk-Version

projekt erneut aufgebaut, Problem gelöst.

0
Shweta

Das Löschen der Version 24, das Herunterladen und Installieren von JDK 1.8_112, das Ändern des Java-Entwicklungskits auf JKD 1.8_112 (jetzt in Programmdateien und nicht in Programmdateien x86 enthalten) und das erneute Erstellen des Projekts hat für mich den Ausschlag gegeben.

0
Dwizzle

Vor ein paar Minuten stand ich vor dem gleichen Problem .. Sure Shot-Lösung: A) Gehen Sie zu "Extras"> "Optionen"> "Xamarin"> "Android-Einstellungen"> "Java Development Kit Location"> ändern Sie die Einstellung in "JDK 1.8 " verweisen auf die aktuelle Java-Version 

100% arbeiten 

0
androminor