[android] 작업에 대한 Android Studio 3.0 실행 실패 : dex를 병합 할 수 없음

다음과 같이 빌드 실행 중에 android studio에서 빌드 오류가 발생했습니다.

오류 : ‘: app : transformDexArchiveWithExternalLibsDexMergerForDebug’작업에 대한 실행이 실패했습니다. java.lang.RuntimeException : java.lang.RuntimeException : com.android.builder.dexing.DexArchiveMergerException : dex를 병합 할 수 없음 “

내 app : build.gradle 파일 :

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
    defaultConfig {
        applicationId "com.pdroid.foodieschoice"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    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.constraint:constraint-layout:1.0.2'
    compile 'com.firebaseui:firebase-ui-auth:2.3.0'

    testCompile 'junit:junit:4.12'
}
configurations.all {
    resolutionStrategy {
        force 'com.android.support:appcompat-v7:26.0.1'
        force 'com.android.support:support-compat:26.0.1'
        force 'com.android.support:support-core-ui:26.0.1'
        force 'com.android.support:support-annotations:26.0.1'
        force 'com.android.support:recyclerview-v7:26.0.1'
    }
}

apply plugin: 'com.google.gms.google-services'

모든 솔루션

편집 : 나는 firebase github 사이트를 통해 샘플을 처리하고 해결했습니다.



답변

Cordova 기반 프로젝트의 경우 @mkimmet이 제안한 cordova clean android대로 빌드 전에 다시 실행 하십시오 .


답변

이 오류는와 호환되지 않을 수있는 외부 라이브러리를 추가 할 때 발생합니다 compileSdkVersion.

추가 할 때주의하십시오 external library.

이 문제에 이틀을 보냈고 마침내 다음 단계에 따라 해결되었습니다.

  • 반드시 모든 지원 라이브러리는 동일합니다 있는지 확인하십시오 compileSdkVersion당신의 build.gradle(Module:app)내 경우가 있습니다 26.여기에 이미지 설명 입력

  • defaultConfig 카테고리에서 multiDexEnabled true를 입력 하십시오 . 이것은 중요한 부분입니다.multiDexEnabled 트루 이미지

  • 파일로 이동 | 설정 | 빌드, 실행, 배포 | 즉시 실행 을 클릭 핫 스왑 / 비활성화 즉시 실행을 사용하려고 … 그리고 좋아 핫스왑으로 Instant Run 활성화 ... 이미지

  • Sync 당신의 프로젝트.

  • 마지막으로 빌드로 이동 | Rebuild Project를 클릭합니다 .

  • 참고 : 프로젝트 다시 빌드는 먼저 프로젝트를 정리 한 다음 빌드합니다.


답변

이것을 gradle에 추가하십시오.

    android {
      defaultConfig {
        multiDexEnabled true
        }
   }


답변

해결:

이 링크를 참조 하세요 : minSdkVersion 에 따라 경고를 끄는 다양한 옵션이 있으므로 20 이하로 설정되어 있습니다 .

 android {
     defaultConfig {
         ...
         minSdkVersion 15
         targetSdkVersion 26
         multiDexEnabled true
     }
     ... }

 dependencies {   compile 'com.android.support:multidex:1.0.3' }

당신이있는 경우 20 이상의 minSdkVersion의 이상을 당신의 build.gradle 세트 사용에 경고를 종료하려면 다음을 수행하십시오

  android {
      defaultConfig {
          ...
          minSdkVersion 21
          targetSdkVersion 26
          multiDexEnabled true
      }
      ... }

다음과 같이 종속성을 업데이트하십시오.

     dependencies {
        implementation 'com.android.support:multidex:1.0.3'
     }

다시 한 번 유일한 차이점은 종속성의 키워드입니다.

minSdkVersion 20 미만 : 컴파일 사용

minSdkVersion 20 이상 : 구현 사용

  1. 도움이 되었기를 바랍니다. 문제가 해결 되었으면 찬성 해주세요. 시간을 내 주셔서 감사합니다.
  2. 또한 이것이 발생 하는 이유대한 자세한 정보 는 링크의 첫 번째 단락을 읽으십시오. 이유를 자세히 설명합니다. 그리고 무엇이 경고는 것을 의미한다.


답변

“Build-> Clean Project”를 시도해보십시오. 그것은 나를 위해 문제를 해결했습니다.


답변

나를 위해, 추가

multiDexEnabled true

packagingOptions {
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/notice'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license'
        exclude 'META-INF/license.txt'
    }

응용 프로그램 수준 Build.gradle의 파일은 문제를 해결


답변

모듈 레벨 build.gradle파일로 이동 하여 코드에 다음 행을 추가하십시오.

    defaultConfig {
        ...
        minSdkVersion 15
        targetSdkVersion 28
        multiDexEnabled true
    }
    ...
}

dependencies {
  implementation 'com.android.support:multidex:1.0.3'
}

그것은 문제를 쉽게 해결했습니다. 이 문서를 확인하십시오.