Ошибка: Ошибка преобразования байт-кода в dex: Причина: Dex не может проанализировать байт-код версии 52 - PullRequest
0 голосов
/ 14 сентября 2018

У меня очень странная ошибка.Я использую Android Studio 2.3.

Прежде всего, пожалуйста, посмотрите мой файл Gradle.

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.2"
    defaultConfig {
        applicationId "com.example.name.webrtcwork"
        minSdkVersion 17
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dataBinding {
        enabled = true
    }
    sourceSets.main {
        jniLibs.srcDir 'libs'
        jni.srcDirs = [] //disable automatic ndk-build call
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support:support-v4:25.3.1'
    compile 'com.myhexaville:smart-image-picker:1.0.4'
    compile 'pub.devrel:easypermissions:1.1.3'
    compile('io.socket:socket.io-client:1.0.0') {
        exclude group: 'org.json', module: 'json'
    }
    compile 'com.android.support.constraint:constraint-layout:1.0.2'

    compile files('libs/autobanh.jar')
    compile files('libs/base_java.jar')
    compile files('libs/libjingle_peerconnection.jar')

    testCompile 'junit:junit:4.12'
}

Проект чист и восстановление работает успешно, но если я хочу запустить приложение, я получаюошибка, подобная этой.

Ошибка: Ошибка преобразования байт-кода в dex: Причина: Dex не может проанализировать байт-код версии 52.Это вызвано зависимостями библиотеки, которые были скомпилированы с использованием Java 8 или выше.Если вы используете подключаемый модуль java в подмодуле библиотеки, добавьте targetCompatibility = '1.7' sourceCompatibility = '1.7' в файл build.gradle этого подмодуля.

Ошибка: 1 ошибка;прерывание

Ошибка: не удалось выполнить задачу ': приложение: transformClassesWithDexForDebug'.com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.classes.jar 'to' /Users/Hayk.Mkrtchyan/Desktop/WebRTCWork/app/build/intermediates/pre-dexed/debug/classes_547e5465c50bca12a58d5755bafa9d6a10538b52.jar'

* 105

1015

1014 * 105такие проблемы, как добавление targetCompatibility = '1.7' sourceCompatibility = '1.7' в мой файл сборки.Это не работает.

Я не хочу добавлять версию 1.8, и я не хочу обновлять свою версию Android Studio до 3.0.Как я могу решить это?

И если я добавлю версию 1.8 и включу домкрат, то тоже выдаст ошибку вроде.

Ошибка: не удалось выполнить задачу ': app: transformClassesWithPreJackPackagedLibrariesForDebug'.Не удается загрузить Jill из инструментов сборки.

Как это исправить?

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Спасибо всем за ответ.Проблема заключалась в том, что эта библиотека (compile 'com.myhexaville:smart-image-picker:1.0.4') давала конфликт.Когда я его убрал, все наконец заработало.

0 голосов
/ 14 сентября 2018

Ошибка: Ошибка преобразования байт-кода в dex: Причина: Dex не может проанализировать байт-код версии 52 Это вызвано зависимостями библиотеки, которые имеют был скомпилирован с использованием Java 8 или выше. Если вы используете «Java» плагин gradle в подмодуле библиотеки add targetCompatibility = '1.7' sourceCompatibility = '1.7' для файла build.gradle этого подмодуля.

FYI

  • Все com.android.support: версия должна быть одинаковой.

Android Studio 3.0 и более поздние версии поддерживают все функции языка Java 7 и подмножество функций языка Java 8, которые зависят от версии платформы. Вы также можете настроить его непосредственно в соответствующем файле build.gradle:

android {
  ...
  // Configure only for each module that uses Java 8
  // language features (either in its source code or
  // through dependencies).
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

Чтение Use Java 8 language features.

...