다음과 같이 빌드 실행 중에 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를 입력 하십시오 . 이것은 중요한 부분입니다.
-
파일로 이동 | 설정 | 빌드, 실행, 배포 | 즉시 실행 을 클릭 핫 스왑 / 비활성화 즉시 실행을 사용하려고 … 그리고 좋아
-
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 이상 : 구현 사용
- 도움이 되었기를 바랍니다. 문제가 해결 되었으면 찬성 해주세요. 시간을 내 주셔서 감사합니다.
- 또한 이것이 발생 하는 이유 에 대한 자세한 정보 는 링크의 첫 번째 단락을 읽으십시오. 이유를 자세히 설명합니다. 그리고 무엇이 경고는 것을 의미한다.
답변
“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'
}
그것은 문제를 쉽게 해결했습니다. 이 문서를 확인하십시오.