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

Я пытаюсь скомпилировать свой Android-проект, и я получаю эту ошибку

[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] ------------------------------------------------------------------------

Я читал в другом посте, что попытка скомпилировать с Java 8 может привести к этой ошибке, но не к моему делу, у меня есть следующая версия Java:

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)

ОС: Linux Mint (У меня нет установленной Java 8). Сборка: MAVEN

Может ли кто-нибудь помочь мне с этим?

Ответ 1

Я тоже сталкиваюсь с этой проблемой при создании нового проекта из студии android.

Я смог решить это, понизив значение buildToolsVersion в приложении gradle: изменить {module-name}/build.gradle line

buildToolsVersion "24.0.0 rc1"

to

buildToolsVersion "23.0.3"


@Edit:
В Android Studio 2.1 Перейдите в File- > Project Structure- > App → Build Tool Version. Измените его на 23.0.3

Выполняйте метод выше, только когда вы используете java-версию 7 и по какой-то причине не хотите обновляться до java 8.

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

Ответ 2

Gradle Скрипты build.gradle(приложение модуля)

Измените buildToolsVersion "24.0.0" на buildToolsVersion "23.0.3"

источник: опыт

Ответ 3

Первоначально я понизил buildToolsVersion от 24.0.0 rc3 до 23.0.3, как указано в ответе Руди Курниавана. Затем я заметил, что у меня есть jdk 7, указанный в настройках моего проекта. Я изменил его на jdk 8 и теперь создаю инструменты 24.0.0 rc3.

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

Также важно иметь параметры компиляции java7:

android {
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

Ответ 4

Я установил Android Studio вместе с Xamarin Visual Studio (уже был установлен). После установки (исключая SDK, поскольку они уже были установлены) я запустил Android Studio и загрузил, установил и добавил отсутствующие SDK (после указания пути к местоположению SDK). В результате я получил сообщение об ошибке при сборке

java.lang.UnsupportedClassVersionError: com/android/dx/command/Главная: Неподдерживаемая версия major.minor 52.0

В качестве решения я установил jdk-8u101-windows-i586.exe без JRE (потому что он уже был установлен). Прежде чем я попробовал версию x64, но она исчезла... Затем вам нужно изменить Местоположение Java Development Kit.

Изменить местоположение JDK

Это выполняется в Visual Studio, нажав "Сервис" > "Параметры" > "Xamarin" > "Настройки Android". Здесь вы можете перейти к правильному местоположению. В моем случае это было C:\Program Files (x86)\Java\jdk1.8.0_101.

Наконец, очистите свой проект и создайте новую сборку: -)

Ответ 5

Задача:

Исключение в потоке "main" java.lang.UnsupportedClassVersionError: com/android/dx/command/Main: Неподдерживаемый major.minor версии 52.

вызывается, когда объявляется внутри build.gradle, buildToolsVersion 24, и у нас не установлен Java 8, который требуется для этой версии. Чтобы решить эту проблему, мы должны перейти от buildToolsVersion от 24 до максимума 23:

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

Java 8 требуется в будущем для Android Studio, поэтому мы должны начать использовать Java 8.

Ответ 6

У меня была такая же проблема с моей сборкой IntelliJ Maven. Мое "решение" заключалось в том, чтобы перейти к инструментам сборки и удалить папку с инструментами 24.0.0. Я нашел его в каталоге {android-sdk-location}/build-tools/. Это не долгое время, но это должно, по крайней мере, вернуть ваше проектное здание. Модернизация до Java 8, как было предложено многими, будет более долгосрочной.

Ответ 7

То, что здесь никто не говорит, заключается в том, что с помощью Build Tools 24.0.0 требуется Java 8, и у большинства людей есть либо 1,6, либо 1,7.

Итак, настройка инструмента сборки на 23.x.x "решит" проблему, но основной причиной является версия Java в вашей системе.

В долгосрочной перспективе вам может потребоваться обновить среду разработки, чтобы использовать JDK8, чтобы использовать новые языковые улучшения и компилятор джек.

Ответ 8

Я на Android Studio 2.0 и сталкиваюсь с той же проблемой. Решение, предоставленное Руди Курнияваном, разобрало этот вопрос. Затронутый файл может быть расположен следующим образом:

"Проект" → "Android" → "Gradle Скрипты" → "build.gradle(Module: app)"

Панель " Проект" по умолчанию расположена слева. Чтобы найти его, проверьте имя боковых вкладок, щелкните его, а затем используйте верхнее раскрывающееся окно, чтобы перейти к " Android". Разверните дерево в панели, чтобы найти целевой файл. Дважды щелкните его, чтобы изменить.

Ответ 9

Извините за поздний ответ. Упование это помогает кому-то еще

Эта проблема связана с вашим SDK, а не с вашим JDK. Вы можете проверить информацию о своей версии из

Справкa > О программе > Показать детали

Вы получите что-то вроде

Xamarin.Android Версия: 6.0.2.1 (версия для начинающих) Android SDK: X:\Android\Android-SDK

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

4.0.3 (уровень API 15)

4.4 (API-уровень 19)

6.0 (уровень API 23)

SDK Tools Версия: 24.4.1

Инструменты платформы SDK Версия: 23.0.1

Инструменты сборки SDK Версия: 24 rc2

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

версия java "1.7.0_71"

Java (TM) SE Runtime Environment (сборка 1.7.0_71-b14)

Клиентская виртуальная машина Java HotSpot (TM) (сборка 24.71-b01, смешанный режим, совместное использование)

Если вы используете инструменты предварительного просмотра для создания, тогда вы получите похожие ошибки.

Что теперь делать?

Гото

Инструменты → Менеджер SDK

  • Выберите все элементы в каналах предварительного просмотра, включая Android SDK build tools с rev 24rc2 или 24rc4 (последняя)

  • Нажмите Delete 'n' packages

Как отключить канал предварительного просмотра

  • В диспетчере SDK выберите

    Инструменты > параметры

  • Снимите флажок Enable preview tools

И что

Вернуться к вашему коду Очистить все и перестроить (В редких случаях вам нужно выбрать сборку инструментов на странице настроек проекта)

Ответ 10

РЕШЕНИЕ, НАХОДЯЩАЯСЯ НА ВСЕХ ПОЛЬЗОВАТЕЛЯХ, ИМЕЕТ ЭТУ ПРОБЛЕМУ.

  • Ошибка com/android/dx/command/Dexer/основная неподдерживаемая версия 52.0 major.minor eclipse

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

РЕШЕНИЕ К ПРОБЛЕМЕ С ECLIPSE НАПИСАЕТ ЭТО В ВАШЕМ проекте. Свойства FILE:

sdk.buildtools = 23.0.3

РЕШЕНИЕ К ПРОБЛЕМЕ С ANDROID - STUDIO VERSION 2.1 FILE напишите это в BUESTRO project.properties:

sdk.buildtools = 23.0.3

Ответ 11

Я также столкнулся с этой проблемой при создании нового проекта в eclipse.

  • Откройте каталог установки eclipse
  • Откройте файл eclipse.ini
  • Изменить

    Dosgi.requiredJavaVersion=1.6 
    

    к

    Dosgi.requiredJavaVersion=1.7
    

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

Ответ 12

52 - это код для JDK 8. Вы можете видеть это здесь: http://javarevisited.blogspot.com/2015/05/fixing-unsupported-majorminor-version.html. Таким образом, Gradle ожидает, что JDK 8 станет стандартной версией Java на вашем компьютере. Новые версии Gradle для Android не будут работать с Java 7.

Решение прост: сделайте Java 8 стандартной версией jdk на вашем компьютере.

Ответ 13

В моем случае по умолчанию jdk было 1,7, а затем я изменил его на 1.8, перейдя в точную папку, в которой находится обновленный jdk.

Ответ 14

Спасибо всем за решение.

Я мог бы решить эту же проблему, используя нижеприведенное решение.

В моем проекте я добавил jar, которые были созданы в Java8. И мой проект имел в виду JRE 7. Когда я изменил проект JRE на 8. Моя проблема решена.

Шаги: в eclipse щелкните правой кнопкой мыши по имени проекта в проводнике проектa > путь сборки > Библиотеки > нажмите на jre version > нажмите править > установить JRE > добавить > standerd VM > выбрать JRE home click-path (путь должен быть localePath\java\jdk1.8.0_25\jre) > укажите имя > сохранить > выберите один и тот же JRE для проектa > закончить > ok Проект обновления/сборки один раз > попробуйте запустить ваш Java файл. он должен работать.

Ответ 15

Получить это сообщение об ошибке на сервере сборки travis?

Я установил мою конструкцию travis с помощью buildToolsVersion "24.0.2" , используя этот

# 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

Ответ 16

Из этого вопроса.

Вы можете попытаться изменить свой уровень компилятора на 1.7 в используемой среде IDE.

  • Если вы находитесь в Eclipse, перейдите в Windows --- > Prefences, затем выберите Java и разверните его, затем выберите Compiler и измените уровень соответствия на 1.7.
  • Если вы работаете в Android Studio, вы можете добавить это в свой build.gradle

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

Если это не помогает, попробуйте проверить другой ответ в упомянутой выше ссылке и сообщите нам, что вам помогло.

Ответ 17

У меня была такая же проблема и я попытался изменить версию, иногда для версии Android Studio в Project > Gradle Scripts > build.gradle(Module: app) вы можете изменить версию. Например:

android {
    compileSdkVersion **23**
    buildToolsVersion **"23.0.3"**

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

Ответ 18

Ваши инструменты для сборки Android установлены неправильно. Попробуйте установить другую версию средств сборки и дайте эту версию в файле gradle. или вы можете перейти в этот каталог

C:\Users\\AppData\Local\Android\sdk\build-tools

и посмотрите, какие инструменты сборки установлены. Попробуйте изменить версию инструмента сборки в файле gradle и скомпилируйте приложение, чтобы узнать, работает ли он.

у меня были 22.0.1,23.0.02 и 24.0.0 версии инструментов сборки, и работала только старая версия 22.0.1.

source: я попробовал это сам, и это сработало для меня.

Ответ 19

Эта проблема связана с тем, что ваша версия инструмента сборки и JDK не будут работать вместе. Я использовал JDK версии 7 с инструментом сборки 24.0.1. Конечно, снижение версии инструмента сборки может устранить проблему, но это не является реальным решением, так как обновление ваших инструментов сборки в будущем снова сломает его.

Вы должны убедиться, что версия инструмента сборки и JDK работают вместе. Я обновил свой инструмент сборки до последней версии (24.0.1) и установил jdk8. Обязательно установите свой JAVA_HOME последним, а затем попробуйте выполнить чистую сборку.

Ответ 20

Вышла такая же проблема за пределами Android Studio, когда пыталась построить для Кордовы с помощью sdk из командной строки (corova build android).

Решение, предоставленное Руди, также работает в этом случае. Вы просто не понижаете версию Build Tools из Android Studio, но вы делаете это с помощью диспетчера android sdk ui.

Ответ 21

РЕШЕНИЕ, НАХОДЯЩЕНОЕ НА ВСЕХ ПОЛЬЗОВАТЕЛЯХ, ИМЕЕТ ЭТУ ПРОБЛЕМУ. НАЙДЕННЫЕ РЕШЕНИЯ ДЛЯ ПРОБЛЕМ ЗАПИСАТЬ НИЖЕ:

-Error com / android / dx / command / Dexer / main unsupported version 52.0 major.minor eclipse

Unsupported version 52.0 major.minor ECLIPSE

THE SOLUTION TO THE PROBLEM WITH ECLIPSE IS WRITE THIS IN YOUR project.properties FILE. sdk.buildtools = 23.0.4

ДОПОЛНИТЕЛЬНАЯ ВЕРСИЯ В JDK 1.7. К 1.8 JDK БОЛЬШЕ СТАБИЛЬНЫ ДЛЯ ВСЕХ ВЕРСИИ В ЗАКЛЮЧЕНИЕ.


THE SOLUTION TO THE PROBLEM WITH ANDROID IS STUDIO VERSION 2.1 FILE write this in you project.properties. sdk.buildtools = 23.0.4
  1. ВЕРСИЯ ОБНОВЛЕНИЯ В JDK 1.8.1. К 1.8.2 JDK БОЛЬШЕ СТАБИЛЬНО ДЛЯ ANDROID STUDIO VERSION 2.2.3 БОЛЬШЕ СТАБИЛЬНО.

Ответ 22

Я столкнулся с этой проблемой.

Отказываясь от версий инструментов предварительного просмотра SDK и инструментов сборки до последней стабильной версии, исправлено это.

Ответ 23

Изменение com.android.tools.build:gradle:2.2.0-beta1 до com.android.tools.build:gradle:2.1.2 исправлено для меня.

Моя версия Android Studio 2.1.2, возможно, поэтому

Ответ 24

Самое простое решение - вам нужно обновить свой JDK до последней версии. Потому что Cordova поддерживает только последние JDK.

1. Прежде всего, вам нужно обновить Android SDK. Тогда,

2. Если вы не можете обновить свой терминал, перейдите в свой Центр программного обеспечения для Linux и выполните поиск в последней версии (которую вы хотите установить) и установите этот.

Затем снова запустите Кордова build.

Это решит проблему.

В моем случае это сработало.

Ответ 25

Вам нужно зайти в каталог установки SDK и убедиться, что подкаталог /build-tools соответствует buildToolsVersion в файле build.gradle приложения: введите описание изображения здесь

Ответ 26

Убедитесь, что у вас установлена ​​самая последняя версия SDK в C:\Program Files\Java или C:\Program Files (x86)\Java

Затем перейдите к VS2015 и следуйте указаниям пути - параметры - Xamarin - настройки Android и в разделе выбора местоположения JDK выберите и перейдите к поиску версии x64 или x32.

Ответ 27

Я на кордове, вот что я сделал:

- переименуйте свой проект Android, чтобы там было место для нового. - обновить JAVA Development Kit до 1,8 (последний раз при написании)

- запустить cordova platform add android

Теперь нужно работать без проблем. Хэш вашего приложения изменится, поэтому, если вы используете его f.e. для входа в факс, вам нужно будет его обновить

Ответ 28

У меня была эта проблема слишком долго (SO и т.д. не помогли), и только ее решили (используя sdk 25).

- Файл local.properties proguard.dir var не применялся с ant; Я указал 5.3.2, но вызов командной строки и подписанная сборка экспорта (eclipse) использовала 4.7 из каталога sdk (только 5+ поддерживает java 8)

Моим решением было заменить баннеры proguard (каталог android-sdk/tools/proguard/libs) в sdk с текущей (5+) версией proguard.

Ответ 29

Ошибка неподдерживаемой-майора-версии может быть из-за неподдерживаемой версии JDK. Обновите JDK, перейдите в Настройки модуля и измените путь JDK на новый. В большинстве случаев он исправляет ошибку.

Ответ 30

У меня было две версии java jdk. Как только я указал на правильную версию java jdk в File- > Project Structure → SDK Location до последней версии, которая у меня была в переменной среды JAVA_HOME, проблема исчезла.