오류 : 프로그램 유형이 이미 있습니다 : android.support.design.widget.CoordinatorLayout $ Behavior


129

프로젝트를 빌드하는 동안 다음 오류가 발생합니다. 이 프로젝트에서 CoordinatorLayout을 사용하지 않았습니다. build.gradle에 종속성으로 추가되었습니다.

Android Studio 3.2 Canary 4를 사용하고 있습니다.

LogCat

AGPBI : { "kind": "error", "text": "프로그램 유형이 이미 있습니다 : android.support.design.widget.CoordinatorLayout $ Behavior", "sources": [{}], "tool": "D8" } : app : transformDexArchiveWithExternalLibsDexMergerForDebug 실패 : 실패로 빌드가 실패했습니다. * 잘못된 일 : ': app : transformDexArchiveWithExternalLibsDexMergerForDebug'작업에 대한 실행이 실패했습니다.

com.android.builder.dexing.DexArchiveMergerException : dex 아카이브를 병합하는 중 오류 발생 : /windows/Other/app/build/intermediates/transforms/dexBuilder/debug/0.jar, / windows / Other / app / build / intermediates / transforms / dexBuilder / debug / 1.jar, /windows/Other/app/build/intermediates/transforms/dexBuilder/debug/4.jar,. . ...................

/windows/Other/app/build/intermediates/transforms/dexBuilder/debug/294.jar

이미 존재하는 프로그램 유형 : android.support.design.widget.CoordinatorLayout $ Behavior

build.gradle

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 27
    buildToolsVersion "27.0.3"
    defaultConfig {
        applicationId "com.dagkot"
        minSdkVersion 16
        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'
            buildConfigField "String", "BASE_URL", "\"http://api.openweathermap.org/data/2.5/\""
            buildConfigField "String", "API_KEY", "\"435e9075f348868c2714fe7c6895efa5\""
        }
        debug {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        buildConfigField "String", "BASE_URL", "\"http://api.openweathermap.org/data/2.5/\""
        buildConfigField "String", "API_KEY", "\"xxxx\""
    }
}
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"


    // Dagger dependencies
    compileOnly 'org.glassfish:javax.annotation:10.0-b28'
    implementation "com.google.dagger:dagger:$rootProject.daggerVersion"
    implementation "com.google.dagger:dagger-android:$rootProject.daggerVersion"
    implementation "com.google.dagger:dagger-android-support:$rootProject.daggerVersion"
    kapt "com.google.dagger:dagger-android-processor:$rootProject.daggerVersion"
    kapt "com.google.dagger:dagger-compiler:$rootProject.daggerVersion"

    //Butterknife dependencies
    implementation 'com.jakewharton:butterknife:8.8.1'
    kapt 'com.jakewharton:butterknife-compiler:8.8.1'

    // Architecture Components Dependencies
    kapt "android.arch.lifecycle:compiler:$rootProject.lifeCycle"
    implementation "android.arch.lifecycle:extensions:$rootProject.lifeCycle"
    implementation "android.arch.lifecycle:reactivestreams:$rootProject.lifeCycle"
    implementation "com.android.support:cardview-v7:$rootProject.supportLibraryVersion"

    // Retrofit/RxJava Dependencies
    implementation "com.squareup.retrofit2:retrofit:$rootProject.retrofitVersion"
    implementation "com.squareup.retrofit2:adapter-rxjava2:$rootProject.retrofitVersion"
    implementation "com.squareup.retrofit2:converter-gson:$rootProject.retrofitVersion"
    implementation "io.reactivex.rxjava2:rxandroid:$rootProject.rxAndroidVersion"
    implementation 'com.squareup.okhttp3:logging-interceptor:3.6.0'
    implementation 'com.jakewharton.rxbinding2:rxbinding-kotlin:2.1.1'

    // GSON
    implementation "com.google.code.gson:gson:$rootProject.gsonVersion"

    // Rx Location Manager
    implementation 'io.nlopez.smartlocation:library:3.3.3'
    implementation 'io.nlopez.smartlocation:rx:3.3.1'

    //Anko Dependencies
    implementation "org.jetbrains.anko:anko-commons:$rootProject.anko_version"
    implementation "org.jetbrains.anko:anko-design:$rootProject.anko_version"
    implementation 'com.android.support:design:27.0.2'

    implementation("com.github.hotchemi:permissionsdispatcher:3.1.0") {
        // if you don't use android.app.Fragment you can exclude support for them
        exclude module: "support-v13"
    }
    kapt "com.github.hotchemi:permissionsdispatcher-processor:3.1.0"
}

5
단지 추가 구현 'com.android.support:design:27.1.1을' Gradle을 파일에
Tushar Lathiya

1
@ TusharLathiya 비슷한 문제가 있지만 다운 그레이드가 저에게 효과적이었습니다. 27.0.0 버전을 사용하고 있습니다
Eswar

앱 의존성에 firebase-ui를 설치 한 적이 있다면 이런 일이 발생할 수 있습니다. 나는 이것을 알아 내기 위해 많은 시간을 보냈습니다! 파이어베이스 저장소에서 이미지를 검색하기 위해 picasso를 사용했기 때문에 firebase-ui가 필요하지 않습니다.
Aswini Iyer

답변:


214

appcompat다음과 같이 지원 gradle 종속성을 다운 그레이드 할 때 작동했습니다 .

implementation 'com.android.support:appcompat-v7:27.0.2'

이전에는

implementation 'com.android.support:appcompat-v7:27.1.0'

또는

또한 다음과 같이 앱 레벨에 27.1.0 이상의 지원 디자인 종속성추가하여 이를 해결할 수 있습니다 build.gradle.

implementation 'com.android.support:design:27.1.0'

45
새 버전을 게시하면 이상한 오류 때문에 우리를 미치게 만듭니다. : |
Nguyen Minh Binh

사실 제 경우에는 그 반대였습니다. 27.0.x에 부딪 치는 동안, 실패했다 27.1.0만든 프로젝트 컴파일 ... MEH ...
마르신 ORLOWSKI

2
compile 'com.android.support:design:27.1.0'새 버전으로 변경
Milad

@ AnkitMehta 비슷한 문제가 있으며 다운 그레이드가 효과가 없습니다.
Eswar

지원 디자인 종속성을 추가하십시오.
Ankit Mehta

78

나는 같은 문제에 직면했다. 앱 레벨에 안드로이드 지원 디자인 의존성을 추가했다. build.gradle

다음을 추가하십시오.

implementation 'com.android.support:design:27.1.0'

build.gradle에서. 이제는 나를 위해 일하고 있습니다.


2
나를 위해 작동합니다. 이 문제는 앱이 26.xx를 사용하는 동안 라이브러리가 27.1.0을 사용하기 시작한 후에 발생했습니다.
Hong

프로젝트를 정리 / 재 구축하면 문제가 즉시 해결되지 않으면 도움이 될 수 있습니다. 그것이 나를 위해 일한 것입니다.
f3d0r

대부분 이러한 오류는 버전 비 호환성으로 인해 발생했습니다. appcompat를 사용하는 경우 최신 버전을 사용하는 것이 더 좋습니다. 예 : 구현 'com.android.support:appcompat-v7:27.1.1'구현 'com.android.support:design:27.1.1'
eranda.del

안녕하세요, PDF github.com/TomRoush/PdfBox-Android/issues/219에 이미지를 추가하기 위해이 라이브러리를 사용 했는데이 오류가 발생합니다. 프로그램 유형이 이미 있습니다 : org.spongycastle.cert.AttributeCertificateHolder 내가 잘못하고 있습니까?
Priyanka Singhal

32

도서관의 원인 일 수 있습니다. 글라이드 때문에 직면했습니다.

그것은이었다

implementation 'com.github.bumptech.glide:glide:4.7.1'

나는 추가 그래서 exclude group: "com.android.support"그리고 그것은된다

implementation ('com.github.bumptech.glide:glide:4.7.1') {
        exclude group: "com.android.support"
    }

1
이 줄을 내가 사용한 3 가지 종속성에 모두 추가했습니다. 내 오류가 해결되었습니다. 감사.
KhanStan99

13

앱 레벨 build.gradle 파일에서이 두 버전이 동일한 지 확인하십시오.

    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:design:27.1.1'

문제를 해결해야한다고 생각합니다.



9

개인적으로 app / build.gradle에 다음 줄을 추가합니다.

implementation "com.android.support:design:${rootProject.ext.supportLibVersion}"

이 구문을 사용하면 버전이 동적입니다.


6

나는 안드로이드 스튜디오 3.0을 사용하고 있으며 디자인 패턴 종속성을 26.0.1에서 27.1.1로 업그레이드하면 오류가 사라졌습니다.

gradle에서 팔로 잉 추가 implementation 'com.android.support:design:27.1.1'


6

사용하다

implementation 'com.android.support:appcompat-v7:27.1.1'

처럼 사용하지 마십시오

implementation 'com.android.support:appcompat-v7:27.+'

오류가 발생하고 이보다 오래된 버전을 사용하지 마십시오.

또는 이벤트는 이렇게하지 않습니다

implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1' 

등등 ... 라이브러리의 수

implementation 'com.android.support:appcompat-v7:27.+'

동일한 라이브러리이지만 버전이 다르면 오류가 발생할 수 있습니다.


5

지원을 다운 그레이드합니다

previously it was
implementation 'com.android.support:appcompat-v7:27.0.2'

그걸 써

implementation 'com.android.support:appcompat-v7:27.1.0'

implementation 'com.android.support:design:27.1.0'

그것의 행복한 해피 Codng


7
27.0.2에서 27.1.0으로 가면 업그레이드처럼 보입니다.
Denny

4

중요 업데이트

Android 지원 라이브러리는 이후 업데이트되지 않습니다 28.0.0. 지원 라이브러리 릴리스 노트 에 따르면 -

이것은 android.support 패키지의 마지막 기능 릴리스이며 개발자는 AndroidX 1.0.0 으로 마이그레이션하는 것이 좋습니다 .

따라서 대신 AndroidX 지원 라이브러리를 사용하십시오. 귀하의 경우 설계 라이브러리는 이제 재료 패키지로 제공됩니다.

dependencies {
    implementation 'com.google.android.material:material:1.0.0' // instead of design
    implementation 'androidx.appcompat:appcompat:1.0.2' // instead of support-v7
}

최신 버전을 의존적으로 두었 습니다. 읽을 때 여기에서 최신 버전을 확인할 수 있습니다 .

유용한 게시물 :

  1. AndroidX 소개 및 통합
  2. Jetifier (AndroidX 마이그레이션의 엔진)에 대해 알아보기
  3. 몇 가지와하지 말아야 할 것

2

나도이 문제가 있었다; 그리고 나는 이것을 이런 식으로 해결했다.

configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == 'com.android.support') {
        if (!requested.name.startsWith("multidex")) {
            details.useVersion '26.0.1'
        }
    }
  }
}

내 최소 SDk가 26 이었으므로 조심해야합니다.


2

"프로그램 유형이 이미 있습니다"/ build 디렉토리 내용을 제거하십시오. 생성 된 이진 파일에 일부 Dex (?) 문제가 있습니다. 당신과 같은 답변을 얻음으로써 그들은이 문제를 해결하는 데 도움이되었지만 많은 다른 사람들을 만들었습니다. 빌드 내용 제거가 모두 작동합니다.


1

나는 그것이 늦은 대답이라는 것을 알고 있지만 같은 문제가 있었고 내 솔루션은 implementation 'com.android.support:design:28.0.0지원 디자인 라이브러리를 추가 하거나 위의 것입니다 !!


1

이것은 하나의 라이브러리가 gradle에 여러 번로드 될 때 발생할 수 있습니다. 대부분 다른 연결된 라이브러리를 통해.

build.gradle 에서이 라이브러리 의 구현을 제거하십시오.

그런 다음 빌드 -> 프로젝트 지우기

어셈블리를 실행할 수 있습니다)


0

안드로이드 최신 업데이트는 'compile'키워드를 지원하지 않으므로 모듈 build.gradle 파일 내부에서 'implementation'을 사용 하십시오.

build.gradle에서 + 기호 로 종속성을 철저히 확인하십시오 .

implementation 'com.android.support:support-v4:28.+'

이와 같은 종속성이 있으면 특정 버전으로 업데이트하십시오. 그 후 :

  1. 동기화 gradle.
  2. 프로젝트를 청소하십시오.
  3. 프로젝트를 다시 빌드하십시오.

0

여기에 언급 된 답변 중 하나라도 작동하지 않으면 파일> 무효화 캐치 / 다시 시작으로 이동하십시오.


1
그것은 도움이되지 않습니다 :(
Jorgesys

0

이에 대한 해결책은 다음과 같은 종속성을 제거하는 것입니다.

implementation 'com.android.support:design:26.1.0'

일반적인 의존성을 다음과 같이 넣으십시오.

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:support-compat:26.1.0'
    implementation 'com.android.support:multidex:1.0.3'    
    implementation 'com.android.support:support-v4:26.1.0'
    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 'com.facebook.android:audience-network-sdk:4.99.1'
}

0

이것을 프로젝트에 추가하면 해결되었습니다 gradle.properties.

android.enableJetifier=true
android.useAndroidX=true

0

빌드 스크립트는 애플리케이션 build.gradle 종속성과 일치해야합니다.

ext {
        buildToolsVersion = "27.0.3"
        minSdkVersion = 16
        compileSdkVersion = 27
        targetSdkVersion = 26
        supportLibVersion = "27.1.1"
    }


dependencies {
    .................
    ...................

    implementation 'com.android.support:support-v4:27.1.0'
    implementation 'com.android.support:design:27.1.0'
    ................
    ...........
}

종속성을 다운 그레이드하려면 supportLibVersion 및 buildToolsVersion도 다운 그레이드하십시오.


0

나는 또한 같은 문제에 직면했다. 그러나 지원 라이브러리를 사용하는 버전이 동일하지 않다는 것을 깨달았습니다.

내가 동일하게 만들면 오류가 사라졌습니다.

당신의 경우

implementation 'com.android.support:appcompat-v7:27.1.0'
implementation 'com.android.support:design:27.0.2'

동일하지 않으므로 방금 appcompat을

implementation 'com.android.support:appcompat-v7:27.0.2'

따라서 문제가 해결되었습니다.

그러나 지원 디자인 버전을 다음으로 업그레이드 할 수 있다면 해결할 수도 있습니다.

implementation 'com.android.support:design:27.1.0'

0

추가 라이브러리를 넣은 디렉토리로 이동하여 중복 된 라이브러리를 삭제하십시오.


-1

구현이 아닌 컴파일되도록 모든 종속성을 변경 한 다음 오류없이 프로젝트를 다시 작성합니다. 그런 다음 컴파일 상태로 두지 않고 구현으로 다시 전환했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.