【问题标题】:More than one file was found with OS independent path 'META-INF/DEPENDENCIES' and Unable to merge dex发现多个文件具有独立于操作系统的路径 'META-INF/DEPENDENCIES' 并且无法合并 dex
【发布时间】:2018-11-05 20:06:45
【问题描述】:

当我构建我的应用程序时,我收到了这个错误。

错误:任务 ':app:transformResourcesWithMergeJavaResForDebug' 执行失败。 发现多个文件具有独立于操作系统的路径“META-INF/DEPENDENCIES”

我不知道如何解决这个错误。我用谷歌搜索了几个小时,但它仍然不起作用

我的项目毕业:

     // Top-level build file where you can add configuration options common
     to all sub-projects/modules.

     buildscript {

         repositories {
             google()
             jcenter()
         }
         dependencies {
             classpath 'com.android.tools.build:gradle:3.0.1'


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

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

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

我的应用分级:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        multiDexEnabled true
        applicationId "com.example.tingyu.receivedatajson"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/rxjava.properties'
    }
    dependencies {
        compile 'com.android.support:multidex:1.0.1'}
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation files('src/main/java/com/example/tingyu/receivedatajson/httpclient-4.5.jar')
    implementation files('src/main/java/com/example/tingyu/receivedatajson/httpclient-win-4.5.jar')
    implementation files('src/main/java/com/example/tingyu/receivedatajson/httpcore-4.4.1.jar')
    implementation files('src/main/java/com/example/tingyu/receivedatajson/json-simple-1.1.jar')
    implementation files('src/main/java/com/example/tingyu/receivedatajson/utils-json-common-3.0.0.jar')
    implementation files('src/main/java/com/example/tingyu/receivedatajson/utils-json-handler-2.0.0.jar')
    implementation files('src/main/java/com/example/tingyu/receivedatajson/org.osgi.foundation-1.0.0.jar')
    implementation files('src/main/java/com/example/tingyu/receivedatajson/java-json.jar')
    implementation files('src/main/java/com/example/tingyu/receivedatajson/org.json.jar')
    implementation files('src/main/java/com/example/tingyu/receivedatajson/org.json.simple-0.3-incubating-sources.jar')
    implementation files('src/main/java/com/example/tingyu/receivedatajson/commons-lang-2.1.jar')
    implementation files('src/main/java/com/example/tingyu/receivedatajson/apache-collections-commons-collections-3.1.jar')
    implementation files('src/main/java/com/example/tingyu/receivedatajson/ezmorph-1.0.3.jar')
    implementation files('src/main/java/com/example/tingyu/receivedatajson/jsonplugin-0.33.jar')
    implementation files('src/main/java/com/example/tingyu/receivedatajson/json-lib-2.1-jdk15.jar')
    implementation files('src/main/java/com/example/tingyu/receivedatajson/commons-beanutils-core-1.7.0.jar')
}

我试试这个:

packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
    }

然后出现错误:

错误:任务执行失败 ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

com.android.builder.dexing.DexArchiveMergerException: 无法合并 dex

【问题讨论】:

  • 在您的项目根目录中执行此命令:gradlew --stacktrace assemble 并发布您的错误堆栈。

标签: android dependencies dex


【解决方案1】:

把它放在你的 build.gradle 中。

然后清理并重建项目

android{
  packagingOptions {
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/NOTICE.txt'
    exclude 'META-INF/notice.txt'
    exclude 'META-INF/ASL2.0'

   }
}

【讨论】:

  • 我试过但它显示:错误:任务':app:transformDexArchiveWithExternalLibsDexMergerForDebug'的执行失败。 > java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: 无法合并 dex
  • 您是否尝试过禁用/启用 Instant Run 或添加在 android 中启用的 multidex{}
猜你喜欢
  • 2018-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-02
  • 1970-01-01
相关资源
最近更新 更多