ошибка в файле класса magic (cafebabe) или версии (0034.0000)

#gluon #gluon-mobile

#gluon #gluon-мобильный

Вопрос:

Я использую Mac 10.11, IntelliJ, JDK 1.8. Я создал многовидовой проект по умолчанию из выбора Gluon в IntelliJ create new project. Я попытался создать apk с помощью Задачи -> Другое -> задача Android. Я получаю следующую ошибку:

 :compileJava UP-TO-DATE
:compileRetrolambdaMain UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:compileAndroidJava UP-TO-DATE
:compileRetrolambdaAndroid SKIPPED
:compileEmbeddedJava UP-TO-DATE
:compileRetrolambdaEmbedded SKIPPED
:compileTestJava UP-TO-DATE
:compileRetrolambdaTest SKIPPED
:compileRetrolambda UP-TO-DATE
:mergeClassesIntoJar
:validateManifest
:collectMultiDexComponents
:shrinkMultiDexComponents
:createMainDexList
[ant:java] Java Result: 1
:dex FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':dex'.
> UNEXPECTED TOP-LEVEL EXCEPTION:
  java.lang.RuntimeException: Exception parsing classes
    at com.android.dx.command.dexer.Main.processClass(Main.java:752)
    at com.android.dx.command.dexer.Main.processFileBytes(Main.java:718)
    at com.android.dx.command.dexer.Main.access$1200(Main.java:85)
    at         com.android.dx.command.dexer.Main$FileBytesConsumer.processFileBytes(Main.java:1645)
    at     com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
    at     com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
    at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
    at com.android.dx.command.dexer.Main.processOne(Main.java:672)
    at com.android.dx.command.dexer.Main.processAllFiles(Main.java:569)
    at com.android.dx.command.dexer.Main.runMultiDex(Main.java:366)
    at com.android.dx.command.dexer.Main.run(Main.java:275)
    at com.android.dx.command.dexer.Main.main(Main.java:245)
    at com.android.dx.command.Main.main(Main.java:106)
  Caused by: com.android.dx.cf.iface.ParseException: bad class file magic     (cafebabe) or version (0034.0000)
    at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
    at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
    at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
    at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
    at com.android.dx.command.dexer.Main.parseClass(Main.java:764)
    at com.android.dx.command.dexer.Main.access$1500(Main.java:85)
    at com.android.dx.command.dexer.Main$ClassParserTask.call(Main.java:1684)
    at com.android.dx.command.dexer.Main.processClass(Main.java:749)
    ... 12 more
  1 error; aborting

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 10.939 secs
bad class file magic (cafebabe) or version (0034.0000)
    at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
    at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
    at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
    at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
    at com.android.dx.command.dexer.Main.parseClass(Main.java:764)
    at com.android.dx.command.dexer.Main.access$1500(Main.java:85)
    at com.android.dx.command.dexer.Main$ClassParserTask.call(Main.java:1684)
    at com.android.dx.command.dexer.Main.processClass(Main.java:749)
    ... 12 more
1 error; aborting`
  

Есть идеи, как я мог бы выяснить, в чем проблема?

Спасибо

Комментарии:

1. Я удалил проект и каталог Android sdk. Переустановил Android sdk и воссоздал проект. Теперь я получаю: ОШИБКА СИНТАКСИЧЕСКОГО АНАЛИЗА: неподдерживаемый файл класса версии 52.0 … во время синтаксического анализа com/gluonapplication/BuildConfig.class 1 ошибка; прерывание

2. Вероятно, вы используете внешние зависимости, которые скомпилированы с помощью jdk 8. Это не поддерживается Android, и для применения классов требуется такой инструмент, как retrolambda. Мы только что обновили плагин jfxmobile, чтобы применить это и к внешним зависимостям. Можете ли вы обновить верхнюю часть вашего файла build.gradle (который находится в корне вашего проекта), чтобы использовать версию 1.0.10-СНИМОК плагина jfxmobile? Вам также нужно будет добавить следующую строку в раздел репозиториев buildscript: maven { url ‘ oss.sonatype.org/content/repositories/snapshots ‘ }