it-swarm.com.ru

Неподдерживаемая версия 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

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

127
Rafael Reyes

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

Я смог решить эту проблему путем понижения buildToolsVersion в настройках приложения: изменение {module-name} /build.gradle line

buildToolsVersion "24.0.0 rc1"

в

buildToolsVersion "23.0.3"


@Редактировать:
В Android Studio 2.1 Перейдите в Файл-> Структура проекта-> Приложение -> Версия инструмента сборки. Измените это на 23.0.3

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

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

237
Rudy Kurniawan

Gradle Scripts >> build.gradle (Модуль приложения)

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

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

43
Febrianto Nugroho

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

enter image description here

Также важно, чтобы параметры компиляции были установлены на Java7:

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

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

Java.lang.UnsupportedClassVersionError: com/Android/dx/command/Main: не поддерживается Major.minor версия 52.0

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

Change JDK location

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

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

14
testing

Указанная проблема:

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

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

enter image description here

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

8
Elenasys

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

6
sotrh

Никто здесь не говорит о том, что в Build Tools 24.0.0 требуется Java 8, и у большинства людей есть 1.6 или 1.7.

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

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

5
Jay Sidri

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

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

5
IgorGanapolsky

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

"Проект" -> "Android" -> "Скрипты Gradle" -> "build.gradle (Модуль: приложение)"

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

4
coarist

Извините за поздний ответ. Надеюсь, это поможет кому-то еще

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

Помощь> О программе> Показать подробности

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

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 Platform Tools Версия: 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) VM (сборка 24.71-b01, смешанный режим, совместное использование)

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

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

идти к

Сервис -> Менеджер SDK

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

  2. Нажмите на Delete 'n' packages

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

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

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

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

и что

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

4
Habel Philip

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

  1. Откройте каталог установки Eclipse
  2. Откройте файл Eclipse.ini
  3. Изменять

    Dosgi.requiredJavaVersion=1.6 
    

    в

    Dosgi.requiredJavaVersion=1.7
    

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

4
user6661437

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

3
Hedego

Получить это сообщение об ошибке на сервере сборки 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
2
k3b

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

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

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

Шаги: В Eclipse щелкните правой кнопкой мыши имя проекта в Project Explorer> путь сборки> Библиотеки> нажмите на версию JRE> щелкните "Редактировать"> "Установленный JRE"> "Добавить"> "standerd VM"> выберите "JRE home click-path" (путь должен быть localePath\Java\jdk1.8.0_25\jre)> указать имя> сохранить> выбрать один и тот же JRE для проекта> завершить> ok Обновить/собрать проект один раз> попытаться запустить файл Java. он должен работать.

2
haithem

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

C:\Users \\ AppData\Local\Android\SDK\строить-инструменты

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

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

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

1
Swathin

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

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

1
GodOnScooter

У меня была такая же проблема, и я пытался изменить версию, иногда для версии 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"**
    }
1
Gladys Sanchez

Та же проблема возникла за пределами Android Studio при попытке сборки для Cordova с использованием SDK из командной строки (Cordova build Android).

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

1
Andrea Gherardi

От это вопрос.

Вы можете попытаться изменить свой уровень компилятора до 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
        }
    }
    

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

1
cristianorbs

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

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

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

Затем снова запустите Cordova build.

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

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

0
PyDevSRS

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

0
Rachit Murarka

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

0
IgorGanapolsky

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

Исправлен возврат к версии SDK "Preview Channel" и инструментам сборки до последней стабильной версии.

0
Mike Playle

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

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

0
ericn

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

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

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

0
rndStr

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

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

0
genomma

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

- переименуйте свой проект Android, чтобы было место для нового
- обновить Java Development Kit до 1.8 (последний на момент написания этой статьи)
- запустить cordova platform add Android

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

0
mate.gwozdz