Warning major version 52 is newer than 51, the highest major version supported by this compiler

38,417

Solution 1

I was having the same issue, and tearing my hair out. I had the JDK Version 8 installed, but these warnings wouldn't go away, and eventually they generated a build-breaking error.

When I went to Tools -> Options -> Xamarin, and looked at the Android Settings, the Java Development Kit Location was pointing to jdk.1.7.xxxx, in Program Files (x86).

I changed it to 1.8.0_101, in Program Files. Then I restarted Visual Studio, and the same error happened again. Somehow, Visual Studio was detecting Version 7 of the JDK and pointing it to that automatically.

So the solution turned out to be very simple. As well as installing Version 8 of the JDK, UNINSTALL Version 7 of the JDK. As soon as I did that, Xamarin turned out to be much better behaved. This step solved a whole bunch of seemingly unrelated problems.

enter image description here

Solution 2

That error is telling you that the Java Class version that is being loaded was compiled with Java 8 (52) but Java 7 (51) is trying to load that compiled class.

  • Java 7 uses major version 51

  • Java 8 uses major version 52

Check which Java version(s) are installed on your machine and review Xamarin's requirements and Java installation steps (linked below)

Installing the Java SDK (JDK)

Solution 3

For people having problems with setting the appropriate JDK version, you might want to try to override this setting in the vs2015 options dialog:

Cross Platform Dialog

Solution 4

Delete bin folder and obj folder and run the project it will be work fine

Solution 5

You have a bad proguard.jar file, you need to replace this .jar by a correct version. The steps below describing how to do that. Some colleagues had the same problem here.

  • Go to Preferences => SDK locations and copy the Android SDK location.
  • Go to that folder (mostly /Users/USERNAME/Library/Developer/Xamarin/android-sdk-macosx) and go to the folder tools/proguard/lib.
  • Here you find a proguard.jar.
  • Rename this to proguard_OLD.jar.
  • Download the last proguard file (like this one https://sourceforge.net/projects/proguard/files/)
  • Unzip and place the proguard.jar in the tools/proguard/lib folder
  • Rebuild your Project

Everything should be fixed!

You can find more info about the bug here:

Share:
38,417

Related videos on Youtube

T.Gelev
Author by

T.Gelev

Updated on January 19, 2020

Comments

  • T.Gelev
    T.Gelev over 4 years

    Basicly I'm super newbie and started internship in IT company. I installed VS with Xamarin. The problem that I'm facing is very frustrating. So even when i create empty project I can't compile it and get error like this :

    Severity Code Description Project File Line Suppression State Warning major version 52 is newer than 51, the highest major version supported by this compiler.

    I searched all over google and asked so many people and still no fix of my problem. If anybody can help me via skype or teamwiever i will APPRECIATE so much. My skype: toniterdal , feel free to add me.

  • Adrian Grigore
    Adrian Grigore over 7 years
    This workd for me as well, but only after I also cleaned my solution.
  • Ranjithkumar
    Ranjithkumar over 7 years
    worked great.. Save from big headache. can you share few lines about this answer (If possible)..
  • Stefan
    Stefan over 7 years
    Actually I spend several hours "trail and error" various settings. When I stumbled upon this one, all seemed to work out but I haven't done a in depth analysis. But it seems that the setting for the C++ cross platform settings interfere with the Xamarin ones
  • Alexander
    Alexander over 7 years
    Thanks - cleaning the solution also removed the "missing v7..." error.
  • Jahmic
    Jahmic over 7 years
    Maybe obvious, but you may have to install the latest JDK from Oracle.