当前位置: 首页 > 知识库问答 >
问题:

将字节码转换为Dex的Android错误:原因:Dex无法解析版本52字节码

西门庆
2023-03-14

我使用samsung knox sdk,正在更新knox版本(2.7.1)。这个错误在尝试编译我的应用程序时出现。

错误详细信息:

错误:将字节码转换为Dex时出错:原因:Dex无法解析版本52字节码。这是由使用Java8或更高版本编译的库依赖项造成的。如果在库子模块中使用'java'gradle插件,请将targetCompatibility='1.7'sourceCompatibility='1.7'添加到该子模块的build.gradle文件中。...解析Android/App/Enterprise/KnoxCustom/CustomDeviceManager.class时

我的毕业生

  apply plugin: 'com.android.model.application'

model {
    android {
        compileSdkVersion 25
        buildToolsVersion "25.0.2"
        defaultConfig {
            minSdkVersion.apiLevel 14
            targetSdkVersion.apiLevel 25
            versionCode 14
            versionName "2.0.14"
            multiDexEnabled true
        }

        compileOptions.with {
            sourceCompatibility = JavaVersion.VERSION_1_7
            targetCompatibility = JavaVersion.VERSION_1_7
        }

        ndk {
            moduleName "samsung_custom"
           .....
        }

        buildTypes {
            release {
                minifyEnabled false
                signingConfig = $("android.signingConfigs.sign")
                proguardFiles.add(file('proguard-android.txt'))
                proguardFiles.add(file('proguard-rules.txt'))
            }

            debug {
                signingConfig = $("android.signingConfigs.sign")
            }
        }

        productFlavors {
            create("pro") {
                applicationId = "com.xxxxxx"
                signingConfig = $("android.signingConfigs.sign")
                ndk.abiFilters.add("armeabi-v7a")
            }
            create("basic") {
                applicationId = "com.xxxxx"
                signingConfig = $("android.signingConfigs.sign")
                ndk.abiFilters.add("armeabi-v7a")
            }
        }
    }

    /*
    adroid.sourceSets {
        main {
            aidl.srcDirs = ['src/main/java']
        }
    }
    */

    android.lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }

    android.packagingOptions {
        pickFirst 'META-INF/services/javax.annotation.processing.Processor'
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/LGPL2.1'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/notice.txt'
    }

    android.dexOptions {
        incremental true
        javaMaxHeapSize "4g"
    }
}


dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:25.2.0'
    compile 'com.android.support:design:25.2.0'
    compile 'com.android.support:cardview-v7:25.2.0'
    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'joda-time:joda-time:2.9.4'
    compile 'com.google.android.gms:play-services:10.2.0'
    compile 'com.google.android.gms:play-services-gcm:10.2.0'
    compile 'com.google.android.gms:play-services-location:10.2.0'
    compile 'com.google.android.gms:play-services-plus:10.2.0'
    compile(
            [group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.7.3'],
            [group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.7.3'],
            [group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.7.3']
    )
    compile 'com.squareup.retrofit2:converter-jackson:2.0.0'
    compile 'com.squareup.retrofit2:retrofit:2.0.2'
    // compile'com.squareup.retrofit2:converter-jackson:2.0.0'
    // compile 'com.squareup.retrofit:converter-jackson:1.9.0'
    compile 'com.squareup.okhttp3:okhttp:3.3.1'
    compile 'com.github.johnkil.android-appmsg:appmsg:1.2.0'
    compile 'me.zhanghai.android.materialprogressbar:library:1.1.6'
    compile('com.github.afollestad.material-dialogs:core:0.8.5.8@aar') {
        transitive = true
    }
    compile 'com.github.nisrulz:easydeviceinfo:1.1.9'
    compile 'com.android.support:multidex:1.0.1'
    compile project(':projects:wifiConnecter')

    compile project(':projects:knoxActivator')
    provided files('libs/cdm.jar')
    provided files('libs/edm.jar')
    provided files('libs/knox.jar')
    provided files('libs/license.jar')
    provided files('libs/rc.jar')
}

我添加了compileOptions,但再次得到异常。你能帮我吗?

共有1个答案

姚子石
2023-03-14

你改变

compileOptions.with {
            sourceCompatibility = JavaVersion.VERSION_1_7
            targetCompatibility = JavaVersion.VERSION_1_7
        }

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
 类似资料:
  • 项目清理和重建工作成功,但如果我想运行应用程序,我得到这样的错误。 错误:将字节码转换为Dex时出错:原因:Dex无法解析版本52字节码。这是由使用Java8或更高版本编译的库依赖项造成的。如果在库子模块中使用'java'gradle插件,请将targetCompatibility='1.7'sourceCompatibility='1.7'添加到该子模块的build.gradle文件中。 错误:

  • 我正在尝试构建我的项目,并得到这个奇怪的错误(因为所有这些都在以前的AS版本中工作得很好) 我知道问题是(正如错误告诉我的那样)我的一些依赖项是用java版本编译的。但是我怎么知道是哪一个呢? 这是我的身材。格拉德尔 我已经在SO上搜索了很多类似的问题(比如这个或这个),但是添加这些行来构建gradle 没有解决我的问题。我很困,需要有人帮助。提前谢谢。

  • 错误:将字节码转换为dex时出错:原因:com.android.dex。DexException:多个dex文件定义Landroid/arch/lifecycle/LiveData$LifecycleBoundObserver; 我的 gradle 文件 **这就是错误,我明白了**

  • 因此,在升级build.gradle(project)后运行项目时,我收到以下错误 至

  • 自从我将android studio从2.0更新为2.1以来,我遇到了以下错误。 错误:将字节码转换为索引时出错: 原因:Dex无法解析52字节版本的代码。这是由使用Java8或更高版本编译的库依赖项引起的。如果您在库子模块中使用“java”gradle插件,请将目标兼容性=“1.7”源兼容性=“1.7”添加到该子模块的build.gradle文件中。 我尝试在build.gradle中添加以下片

  • 我最近升级到Android Studio 3.0,在运行程序时我收到以下错误: 除了我的主模块外,我的项目中还有另外两个模块。我已经试过了 , 使用最新的构建工具和Java版本, 为false, 删除文件夹,但都不起作用。 有人能帮我吗? 模块: < code>Vuforia模块: 模块: