Ошибка java Lang UnsupportedClassVersion в Xamarin Studio

При создании проекта я получаю следующую ошибку. Как это исправить?

C: \ Program Files (x86) \ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets (3,3): Ошибка: java.lang.UnsupportedClassVersionError: com / android / dx / command / Main: Unsupported major.minor версия 52.0 (FGH)


Информация о моей версии из справки> О> Подробности :

Версия Xamarin.Android: 6.0.2.1 (версия для начинающих)
Android SDK: C: \ Users \ Admin \ AppData \ Local \ Android \ android-sdk

Поддерживаемые версии Android:

  • 4.0.3 (уровень API 15)
  • 4.4 (уровень API 19)
  • 6.0 (уровень API 23)

Версия SDK Tools: 24.4.1
SDK Platform Tools Версия: 23.0.1
SDK Build Tools Версия: 24 rc2

Java SDK: C: \ Program Files (x86) \ Java \ jdk1.7.0_71
java-версия “1.7.0_71”
Java (TM) SE Runtime Environment (assembly 1.7.0_71-b14) Клиентская виртуальная машина Java HotSpot (TM) (assembly 24.71-b01, смешанный режим, совместное использование)

Версия 52.0 здесь относится к конкретной версии JDK, которая в этом случае относится к JDK 8.

Xamarin.Android 7.0 требует JDK 1.8 для использования API Nougat (API 24) Android. Вы можете продолжать использовать более ранние версии JDK, если вы планируете использовать более ранние уровни API Android:

  • JDK 1.8 – до API 24+

  • JDK 1.7 – до API 23

  • JDK 1.6 – до API 20

Кроме того, для использования пользовательских элементов управления в Android-дизайнере требуется 64-разрядная версия JDK.

Самый простой вариант – установить 64-битную версию JDK 1.8, поскольку она обратно совместима со всеми предыдущими уровнями API и поддерживает новые функции дизайнера Android.

(Одно неудачное осложнение с JDK 1.8 – это то, что несовместимо с устаревшей версией Proguard , включенной в Android SDK. В настоящее время это приведет к ошибке «Недопустимый номер версии classа [52.0]» при попытке использования функций Proguard или Multidex в Xamarin.Android. См. 44187. Я бы рекомендовал вам установить это на стороне версии по умолчанию, которую Android отправляет в android-sdk\tools\proguard . Просто переименуйте существующую папку в другое и добавьте новую версию proguard. )

Неподдерживаемая версия major.minor 52.0

Это сообщение об ошибке вызвано несовместимостью с Java JDK: Android SDK Build-tools версии 24 и выше требуют Java JDK 8 (1.8), тогда как более ранние версии по-прежнему совместимы с Java JDK 7 (1.7). (Это напоминает старые ответы о той же ошибке.)

Шаги для обновления :

  1. Обновление до Java JDK 8 . Рекомендуется использовать 64-разрядную версию для совместимости с новыми функциями дизайнера Xamarin Android в Xamarin Studio 6.1 и Xamarin для Visual Studio 4.2.

  2. Дважды проверьте, что Java JDK 8 выбран в настройках Xamarin:

    • Visual Studio : Инструменты> Параметры> Xamarin> Настройки Android> Местоположение Java Development Kit .

      «Инструменты»/> «Параметры»> «Xamarin»> «Настройки Android»> «Местоположение Java Development Kit» в Visual Studio”> </p>
</li>
<li>
<p>  <strong>Xamarin Studio</strong> (на Mac): <em>Xamarin Studio> Предпочтения> Проекты> Расположение SDK> Android> Java SDK (JDK)</em> . </p>
<p> <img src=

Альтернативы :

Если вы предпочитаете не обновлять Java JDK 8, вы можете вместо этого выполнить одно из следующих действий.

  • Удалите все версии Android SDK Build-Tools версии 24 и выше с помощью менеджера Android SDK.

  • Или установите свойство AndroidSdkBuildToolsVersion MSBuild в более раннюю версию. Например, если у вас также установлена ​​версия 23.0.3, вы можете добавить следующую строку в верхний элемент в файле проекта .csproj Android:

     23.0.3 

(См. Также https://releases.xamarin.com/technical-bulletin-android-sdk-build-tools-24/ .)


Дополнительная справочная информация

Обновление 25 июля 2016 года:

Google выпустил Android SDK Build-tools 24.0.1. Эта версия исправляет ошибку в aapt которая присутствовала в версии 24.


Обновление 14 июля 2016 года:

Неподдерживаемая версия major.minor 52.0

Оказывается, это сообщение об ошибке вызвано несовместимостью с Java JDK, а не с Xamarin.Android: Android SDK Build-tools версии 24 требует Java JDK 1.8, тогда как более ранние версии по-прежнему совместимы с Java JDK 1.7. (Это напоминает старые ответы о той же ошибке.)


Обновление 16 июня 2016 года:

Версия без предварительного просмотра Android SDK Build-tools версии 24 теперь доступна в Android SDK Manager. Xamarin.Android еще не совместим с этой версией.


Информация с 12 апреля 2016 года:

SDK Build Tools Версия: 24 rc2

Версия «Build Tools» выглядит так, как будто это может быть проблемой. Xamarin.Android еще не совместим с версией Build-tools 24 rc2 из «Предварительный канал» в Android SDK Manager. Вы можете удалить эту версию предварительного просмотра и установить одну из версий без предварительного просмотра Build-tools (например, 23.0.3) с помощью Android SDK Manager.

РЕШЕНИЕ!

Измените Java SDK на 1.8.x. После перезапуска Visual Studio запустите «Clean Solution», «Build» и будьте счастливы!

введите описание изображения здесь

Загрузите последнюю версию JDK и установите,

Затем перейдите к:

  • VS2015 Tools> Options> Xamarin и измените java на последнее место JDK.
  • Xamarin Studio: Инструменты -> Параметры -> Местоположение SDK

Надеюсь это поможет.

Как сказал Брендан Загаски , его проблема возникла из-за использования превью-версии инструментов сборки

Пожалуйста, выполните следующие действия.

  • Открыть менеджер SDK
  • Выберите Инструменты сборки с версией 24rc2 (убедитесь, что выбран только этот элемент)
  • Нажмите, чтобы удалить

ОБНОВЛЕНИЕ : подробный ответ можно найти здесь https://stackoverflow.com/a/37827161/5073734

** UPDATE 2016 Nov ** Некоторые из моих друзей сказали мне, что это также может случиться с пакетами nuget. Если вышеупомянутое не решит ваши проблемы, попробуйте переустановить пакеты nuget.

Убедитесь, что если в VS вы
Проект> Свойства имени проекта > Приложение
вы загрузили все выбранные версии в Android SDK

Предположим, что вы только установили API для Android 6.0 (уровень 23) и 5.1.1 (уровень 22), но вы устанавливаете минимальный Android для таргетинга на уровень ниже этого уровня 16, например. Это даст java.lang.UnsupportedClassVersionError: ошибка.

Просто убедитесь, что вы используете правильный уровень API

Я понимаю, что это немного старше, но я также столкнулся с этой проблемой, и ничего, что я нашел в Интернете, не решит ее. Наконец, я попытался удалить и переустановить некоторые пакеты nuget, которые я установил (SQLite.Net). После этого он скомпилировался. Надеюсь, это полезно для тех, кто исчерпал эти более распространенные решения.

Я столкнулся с той же проблемой всего пару минут назад. Решение для правильной съемки: a) Перейдите в раздел «Инструменты»> «Параметры»> «Xamarin»> «Настройки Android»> «Местоположение Java Development Kit»> измените его на JDK 1.8. Убедитесь, что вы указали на текущую версию Java

100% работающих

Я столкнулся с той же проблемой, в моей системе была установлена ​​версия Java версии 1.7. Я установил версию 1.8 в системе.

Обновлен путь к jdk Tools-> Options-> Xamarin-> Настройки Android -> (местоположение набора для разработки java) установить путь jdk к новой версии jdk

снова перезапустить проект, решить проблему.

Удалив версию 24, загрузив и установив JDK 1.8_112, сменив комплект разработки java на JKD 1.8_112 (теперь он найден в файлах программ, а не на программных файлах x86), и перестройка проекта сделала для меня трюк.

  • Это ошибка в MonoTouch GC?
  • Как использовать Push-уведомления в форматах Xamarin
  • Проект Xamarin не работает, assembly не найдена
  • Использовать локальную базу данных в Xamarin
  • Как определить тип файла MIME в android?
  • Xamarin Forms Android App Crashes запускает отладочную версию с помощью эмулятора VS Android
  • Основная версия 52 - новее, чем 51, самая высокая основная версия, поддерживаемая этим компилятором
  • Xamarin Forms Swipe Left / Swift Right Gestures
  • Ошибка , даже если приложение не установлено
  • Как войти в facebook в Xamarin.Forms
  • Interesting Posts

    .htaccess RewriteRule в путь без изменения URL-адреса

    Запуск эмулятора Android быстрее

    Есть ли способ установить точку останова в gdb, которая является условной для стека вызовов?

    Как я могу переключить приложение на другое устройство воспроизведения в Windows 10

    как установить метод, принадлежащий экземпляру с помощью pymc3?

    прокручивайте вверх и вниз по нажатию на кнопку выбора с помощью jquery

    Каков общий консенсус в отношении «бесполезного использования кошки»?

    Присоедините несколько файлов MP3 (без потерь)

    Ограничить создание баз данных Microsoft Access для каждого пользователя

    Восстановить неполные (?) Видеофайлы

    Каков предел использования API Диска Google?

    число n-й фибоначчи в сублинейном времени

    Есть ли проблемы с огромными папками?

    System.loadLibrary (…) не смог найти родную библиотеку в моем случае

    Как остановить Windows 7 от уменьшения яркости экрана при работе от аккумулятора?

    Давайте будем гением компьютера.