【问题标题】:"Multiple dex files define" error when building APK in android studio在 android studio 中构建 APK 时出现“多个 dex 文件定义”错误
【发布时间】:2017-05-10 11:02:56
【问题描述】:

这是我的应用程序 gradle 文件。我得到的确切错误如下

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.>com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/github/barteksc/pdfviewer/listener/OnPageChangeListener;

build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "25.0.0"
    defaultConfig {
        applicationId "com.daniel.haughton93.dunnesstoresoffers"
        minSdkVersion 16
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

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

dependencies {

    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:24.2.1'
    testCompile 'junit:junit:4.12'
    compile files('src/main/java/com/daniel/haughton93/dunnesstoresoffers/jsoup-1.10.1.jar')
    compile 'com.google.android.gms:play-services-appindexing:8.4.0'
    compile 'com.github.barteksc:android-pdf-viewer:2.3.0'
}

【问题讨论】:

    标签: android android-studio


    【解决方案1】:

    这个问题是由于 android-pdf-viewer 的依赖,所以尝试下面的步骤可能会得到解决。

    1. 从项目结构中删除所有构建文件夹。
    2. MyProject 文件夹 -> build -> intermediate -> dex-cache -> cache.xml,并删除了所有 support-v4.jar 和 android-pdf-viewer.jar 项。
    3. 清理项目并重试

    【讨论】:

      【解决方案2】:

      我建议您真正取出所有不需要的 id 和引用,然后创建一个 Clean Project,然后重新构建。

      如果上述方法不起作用,则像这样修改 build.gradle(Modude:app):

      android {
          defaultConfig {
              ...
              minSdkVersion 21 
              targetSdkVersion 25
              multiDexEnabled true <-- the line that matters
          }
          ...
      }
      

      希望对你有帮助!!!

      【讨论】:

        猜你喜欢
        • 2018-05-15
        • 2015-12-09
        • 2023-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-28
        相关资源
        最近更新 更多