原因:com.android.dex.DexException:多个dex文件在Studio 3.0中定义Lorg/apache/commons/io/IOCase

2024-01-12

我正在开发一个项目。这在 Android studio 2.3.3 上工作得很好,但是当我更新我的安卓工作室3.0 https://developer.android.com/studio/index.html并打开我的项目,然后它无法组装,并向我发送以下错误日志。

错误日志

Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Lorg/apache/commons/io/IOCase;
Error:com.android.dex.DexException: Multiple dex files define Lorg/apache/commons/io/IOCase;
Error:    at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:661)
Error:  at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:616)
Error:  at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:598)
Error:  at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
Error:  at com.android.dx.merge.DexMerger.merge(DexMerger.java:198)
Error:  at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61)
Error:  at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:36)
Error:  at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
Error:  at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
Error:  at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
Error:  at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
Error:  at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Error:Execution failed for task ':app:transformDexArchiveWithDexMergerForDebug'.
> com.android.build.api.transform.TransformException: com.android.dex.DexException: Multiple dex files define Lorg/apache/commons/io/IOCase;

请不要重复,因为我已经尝试过以下所有内容

  • 清洁工程
  • 重建项目
  • 已删除/.gradle重新打开项目并清理和重建后项目中的文件夹
  • 已删除.gradle重新打开项目并清理和重建后的现金文件夹

其他认为是我检查了下面的堆栈溢出问题及其答案以及其他,然后我也没有得到解决方案。

1. 问题 https://stackoverflow.com/questions/46224039/multiple-dex-files-define-lorg-apache-commons-io-ioutils, 2. 问题 https://stackoverflow.com/questions/26515378/dexindexoverflowexception-issue-after-updating-to-latest-appcompat-and-support-l, 3. 问题 https://stackoverflow.com/questions/46053902/dex-error-on-android-studio-3-0-beta4, 4. 问题 https://stackoverflow.com/questions/46267621/unable-to-merge-dex and 5. 问题 https://stackoverflow.com/questions/26515378/dexindexoverflowexception-issue-after-updating-to-latest-appcompat-and-support-l

项目级别构建.gradle file

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
        classpath 'com.google.gms:google-services:3.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

应用程序级别构建.gradle file

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion '26.0.2'
    defaultConfig {
        applicationId "com.mypackage"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

        // for render script to create blur image
        renderscriptTargetApi 18
        renderscriptSupportModeEnabled true

        multiDexEnabled true

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

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:cardview-v7:25.3.1'
    compile 'com.android.support:design:25.3.1'
    compile 'com.android.support:multidex:1.0.0'
    testCompile 'junit:junit:4.12'

    compile 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

    //google API
    compile 'com.google.firebase:firebase-auth:10.0.1'
    compile 'com.google.firebase:firebase-messaging:10.0.1'
    compile 'com.google.firebase:firebase-core:10.0.1'
    compile 'com.google.android.gms:play-services-auth:10.0.1'
    compile 'com.google.android.gms:play-services-places:10.0.1'
    compile 'com.google.android.gms:play-services-maps:10.0.1'

    //facebook SDK
    compile 'com.facebook.android:facebook-android-sdk:[4,5)'

    compile 'de.hdodenhof:circleimageview:2.1.0'
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'com.squareup.okhttp3:okhttp:3.4.2'
    compile ('org.apache.commons:commons-lang3:3.4'){
        exclude module: 'commons-io'
    }

    compile('net.yazeed44.imagepicker:imagepicker:1.3.0') {
        exclude module: 'cam2'
    }
}
apply plugin: 'com.google.gms.google-services'

请提供一些帮助,告诉我如何解决这个问题。我可以知道您是否需要我这边的任何东西吗?帮助将非常感激。预先感谢。


我同意@CommonsWare https://stackoverflow.com/users/115145/commonsware还有另一个库也包含commons-io在你的项目中。

gradle 依赖中有一个选项可以解决此冲突问题。在您的应用程序级别添加以下代码build.gralde file.

configurations.all {
    resolutionStrategy.dependencySubstitution {
        substitute module('org.apache.commons:commons-io:1.3.2') with module('commons-io:commons-io:1.3.2')
    }
}

原因是那为什么'org.apache.commons:commons-io:1.3.2'是冲突检查这个堆栈溢出问题的答案 https://stackoverflow.com/questions/5566734/what-is-the-difference-between-maven-dependencies-org-apache-commonscommons-io/37421794#37421794.

Note:-想了解更多阿帕奇公共集合及其不同版本检查这个答案 https://stackoverflow.com/a/31496709/6533853

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

原因:com.android.dex.DexException:多个dex文件在Studio 3.0中定义Lorg/apache/commons/io/IOCase 的相关文章

随机推荐

  • 如何使用 Jasmine 测试 XMLHttpRequest

    如何在没有 jQuery 的情况下测试 XMLHttpRequest 或纯 Javascript AJAX 上的 onreadystatechange 我这样做是因为我正在开发 Firefox 扩展 我想我必须使用间谍 但不知道如何使用 因
  • 对端口“COM1”的访问被拒绝

    我试图打开 COM1 端口 但收到此错误消息 访问端口 COM1 被拒绝 我正在编写一个通过 NET 发送短信的程序 我预计可能会出现错误 但不应出现 访问被拒绝 错误 请给我任何解决方案 如果端口需要任何访问权限 那么我该怎么做 首先 确
  • OOAD书籍推荐:从理论到实践[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我致力于成为一名优秀的面向对象开发人员 OO 引起了我的兴趣 因为我理解模式 知道为什么组合比继承给你更
  • MVC UpdateModel 可以使用企业库 VAB 吗?

    或者我应该说 将 Enterprise Library 5 VAB 与 MVC 结合使用的最简洁方法是什么 我目前使用的形式 ActionResult Save int id FormCollection form SomeModel mo
  • Azure 容器实例在没有明显原因的情况下被终止

    我们每天运行容器实例组 由逻辑应用程序触发 容器基本上连接到队列 处理它并结束 有时 根据事件日志 容器被杀死 日志中没有任何内容 除了我们的应用程序所做的最后一件事 并且它不是在处理结束时 我检查了资源 我们远远低于限制 另外 这种情况并
  • 如何验证以下场景的表单? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我对网络开发比较陌生 我的网站使用 HTML jQuery 和 PHP 我想设计一个表单并通过以下方式验证它 一个简单的网页 有输入框 2
  • pyspark - 在 Spark 会话中获得一致的随机值

    我想将一列随机值添加到数据帧 每行都有一个 id 对于我正在测试的东西 我是努力在 Spark 会话中获得可重复的结果 每个行 id 的随机值相同 我能够通过使用重现结果 from pyspark sql functions import
  • Go:如何检查一个字符串是否包含多个子字符串?

    strings Contains str to check substr 仅接受一个参数作为要检查的子字符串 如何在不使用的情况下检查多个子字符串strings Contains 反复 eg strings Contains str to
  • Ruby 和指针

    我正在为一个小游戏编写一个地下城生成器 地下城由房间组成 Aroom has connections到其他房间 room connections room a room b and room number 1 unique id 现在我需要
  • 无法在 Argo 工作流程中使用 jsonpath 函数作为输出参数

    我正在使用一个工作流程jsonpath函数用于输出参数从 json 字符串中提取特定值 但失败并出现此错误Error exit code 255 这是我的工作流程 apiVersion argoproj io v1alpha1 kind W
  • 如何处理库中需要在库外部设置的变量?

    我在多个项目中使用 Datomic 是时候将所有通用代码移动到一个小型实用程序库中了 一项挑战是处理共享数据库uri 大多数操作都依赖于它 但必须由使用该库的项目进行设置 我想知道是否有一种行之有效的方法可以做到这一点 以下是我考虑过的一些
  • 如何根据屏幕尺寸使用 jQuery 隐藏 div

    我正在编写一个响应式 WordPress 主题 并且我想根据查看器的屏幕分辨率隐藏 div 我在 div 中有一个来自 BuySellAds 的 468 像素 x 60 像素的广告横幅 我想对在智能手机或平板电脑上查看该网站的观众隐藏它 我
  • 并行进程的通信:我有哪些选择?

    我正在尝试更深入地研究 R 例程的并行化 对于一堆 工人 进程的通信 我有什么选择 沟通between各自的workers 的沟通workers与 master 过程 AFAIU 不存在 共享环境 共享内存 主进程和所有工作进程都可以访问
  • 气流如何安装?

    我好像在做某事 错误的 https pythonhosted org airflow start html https pythonhosted org airflow start html export AIRFLOW HOME airf
  • 如何在 AJAX/jQuery POST 成功时返回 PHP 变量

    如何在 PHP 中使用 AJAX 返回变量 我目前正在控制器中使用 echo 来显示价格dropdown change in a div称为价格 但是我有一个隐藏字段 我需要在更改时将行 ID 返回到该隐藏字段 如何在 jQuery 中分配
  • Plotly dash 在重新加载时刷新全局数据

    想象我有一个dash我希望在页面重新加载时刷新全局数据的应用程序 我正在使用一个函数来提供所描述的布局here https dash plotly com live updates 但是 我不确定应该如何 在哪里定义df这样我就可以在回调中
  • 动态生成条件JS

    我正在寻找在循环内动态生成条件的最佳方法 一个价值千字的示例 所以这是我的代码 var condition data label Test for var key in andArray condition andArray key for
  • ctypes 中的 find_library()

    我正在尝试使用 ctypes 中的命令 find library 但出现错误 我不明白其原因 我正在 Windows 上工作 这是代码 import ctypes from ctypes util import find library i
  • 仅在 Google Chrome 中显示“表单控件无效”

    下面的代码在 Safari 中运行良好 但在 Chrome 和 Firefox 中 表单将无法提交 Chrome 控制台记录错误An invalid form control with name is not focusable 有任何想法
  • 原因:com.android.dex.DexException:多个dex文件在Studio 3.0中定义Lorg/apache/commons/io/IOCase

    我正在开发一个项目 这在 Android studio 2 3 3 上工作得很好 但是当我更新我的安卓工作室3 0 https developer android com studio index html并打开我的项目 然后它无法组装 并