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

将字节码转换为dex时出错:dex异常:在多dex模式下不支持库dex文件

巴照
2023-03-14

我尝试在avd中运行我的应用程序,但当我选择运行gradle时,出现异常:

Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Library dex files are not supported in multi-dex mode
    :app:transformClassesWithDexForDebug FAILED
    Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
    > com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_66\bin\java.exe'' finished with non-zero exit value 2

我的应用程序在同步时已成功同步,但正在运行!这是我的格拉德尔:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "ir.esfandune.material"
        minSdkVersion 9
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dexOptions {
        incremental true
        preDexLibraries = false
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

repositories {
    jcenter()
    maven { url "https://oss.sonatype.org/content/repositories/snapshots" }

}

dependencies {
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.android.support:design:23.0.0'
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.android.support:cardview-v7:23.0.0'
    compile 'com.android.support:recyclerview-v7:23.0.0'
    compile 'com.android.support:support-v4:23.0.0'
    compile 'com.github.rey5137:material:1.2.1.6-SNAPSHOT'
    compile project(':material-dialogs')
    compile files('lib/glide-3.6.1-       3f8a822297969bbac00507aeca83271794f037ca.jar')
    //compile files('lib/de.hdodenhof/circleimageview/1.3.0/jars/classes.jar')
}

这是我的另一个模块gradle文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "ir.esfandune.material"
        minSdkVersion 9
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dexOptions {
        incremental true
        preDexLibraries = false
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

repositories {
    jcenter()
    maven { url "https://oss.sonatype.org/content/repositories/snapshots" }

}

dependencies {
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.android.support:design:23.0.0'
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.android.support:cardview-v7:23.0.0'
    compile 'com.android.support:recyclerview-v7:23.0.0'
    compile 'com.android.support:support-v4:23.0.0'
    compile 'com.github.rey5137:material:1.2.1.6-SNAPSHOT'
    compile project(':material-dialogs')
    compile files('lib/glide-3.6.1-3f8a822297969bbac00507aeca83271794f037ca.jar')

}

我在stackoverflow和google上搜索修复此错误,但没有找到任何有用的答案!有人能帮我吗?

共有1个答案

张丰
2023-03-14
  1. 检查您使用的所有库,包括库的依赖关系,并确保没有冲突的版本。
  2. 打开终端从Android Stodio和类型:./gradlew清洁
  3. 再次建造
 类似资料:
  • 错误:将字节码转换为dex时出错:原因:com.android.dex。DexException:多个dex文件定义Landroid/arch/lifecycle/LiveData$LifecycleBoundObserver; 我的 gradle 文件 **这就是错误,我明白了**

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

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

  • 清理和生成项目 将“sourceCompatibility=”1.7“targetCompatibility=”1.7“”添加到分级文件。 谁能建议一下如何解决这个问题。

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

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

  • 问题内容: 我有2个应用版本-专业版和精简版。它们都已经在 v1.01上上市。我正在尝试为两者发布v1.1。此更新包括 SwawrmConnect集成,以便使用其全球排行榜。 我首先要说我知道我没有正确维护我的代码。我 有2个完全独立的应用程序,它们可能共享90%的代码。我分别 维护它们,因为在一周或两到三周未能弄清楚 如何做一个库和共享代码之后,我放弃了,只是这样做了 。 SwarmConnec

  • 我使用samsung knox sdk,正在更新knox版本(2.7.1)。这个错误在尝试编译我的应用程序时出现。 错误详细信息: 错误:将字节码转换为Dex时出错:原因:Dex无法解析版本52字节码。这是由使用Java8或更高版本编译的库依赖项造成的。如果在库子模块中使用'java'gradle插件,请将targetCompatibility='1.7'sourceCompatibility='