Lỗi: Loại chương trình đã có: android.support.design.widget.CoordinatorLayout $ Behavior


129

Tôi nhận được lỗi sau khi xây dựng dự án. Chưa sử dụng Điều phối viênLayout trong dự án này. chỉ được thêm dưới dạng phụ thuộc trong build.gradle:

Tôi đang sử dụng Android Studio 3.2 Canary 4.

LogCat

AGPBI: {"kind": "error", "text": "Loại chương trình đã có: android.support.design.widget.CoordinatorLayout $ Behavior", "nguồn": [{}], "tool": "D8" }: app: TransformDexArchiveWithExternalLibsDexMergerForDebug FAILED FAILED: Xây dựng thất bại với một ngoại lệ. * Điều gì đã sai: Thực thi không thành công cho nhiệm vụ ': app: TransformDexArchiveWithExternalLibsDexMergerForDebug'.

com.android.builder.dexing.DexArchiveMergerException: Lỗi trong khi hợp nhất các kho lưu trữ dex: dexBuilder / debug / 1.jar, /windows/Other/app/build/intermediates/transforms/dexBuilder/debug/4.jar ,. . ...................

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

Loại chương trình đã có: android.support.design.widget.CoordinatorLayout $ Behavior

xây dựng. nâng cấp

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
chỉ cần thêm triển khai 'com.android.support:design:27.1.1' trong tệp lớp
Tushar Lathiya

1
@TusharLathiya Tôi có một vấn đề tương tự nhưng việc hạ cấp đã giúp ích cho tôi. Tôi đang sử dụng phiên bản 27.0.0
Eswar

Nếu bạn đã từng cài đặt firebase-ui trong ứng dụng phụ thuộc, điều này có thể xảy ra .. Tôi đã dành rất nhiều thời gian để tìm hiểu điều này! Tôi không bao giờ cần firebase-ui vì tôi đang sử dụng picasso để lấy hình ảnh từ bộ lưu trữ firebase.
Aswini Iyer

Câu trả lời:


214

Nó hoạt động khi tôi hạ cấp appcompatphụ thuộc lớp hỗ trợ , như follwing:

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

trước đây nó là

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

HOẶC LÀ

Ngoài ra, điều này có thể được khắc phục bằng cách chỉ cần thêm phụ thuộc thiết kế hỗ trợ của phiên bản 27.1.0 trở lên vào cấp ứng dụng của bạn build.gradlenhư sau:

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

45
Một khi họ xuất bản các phiên bản mới, họ khiến chúng ta phát điên vì những lỗi kỳ lạ. : |
Nguyễn Minh Bình

Thật ra nó khá đối lập trong trường hợp của tôi. 27.0.xđã thất bại, trong khi va chạm để 27.1.0thực hiện dự án biên dịch ... meh ...
Marcin Orleansowski

2
thay đổi nó để compile 'com.android.support:design:27.1.0'trong các phiên bản mới
Milad

@AnkitMehta Tôi có một vấn đề tương tự và việc hạ cấp đã không làm việc cho tôi.
Eswar

thử thêm phụ thuộc thiết kế hỗ trợ.
Ankit Mehta

78

Tôi gặp vấn đề tương tự, tôi đã thêm phụ thuộc thiết kế hỗ trợ Android vào cấp ứng dụng build.gradle

Thêm vào sau:

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

trong build.gradle. Bây giờ nó làm việc cho tôi.


2
Làm việc cho tôi. Sự cố này xảy ra sau khi thư viện bắt đầu sử dụng 27.1.0 trong khi ứng dụng vẫn đang sử dụng 26.xx
Hong

Làm sạch / xây dựng lại dự án có thể giúp đỡ nếu nó không khắc phục vấn đề ngay lập tức. Đó là những gì làm việc cho tôi.
f3d0r

Hầu hết các lỗi như vậy xảy ra do không tương thích phiên bản. Nếu sử dụng appcompat, thiết kế thư viện tốt hơn để sử dụng các phiên bản mới nhất. Ví dụ: thực hiện 'com.android.support:appcompat-v7:27.1.1' thực hiện 'com.android.support:design:27.1.1'
eranda.del

Xin chào, Bạn có thể vui lòng giúp tôi không vì tôi đã sử dụng thư viện này để thêm Hình ảnh trong PDF github.com/TomRoush/PdfBox-Android/issues/219 và tôi đang gặp lỗi Loại chương trình này: tôi đang làm sai à
Priyanka Singhal

32

Nó có thể là nguyên nhân của một thư viện, tôi phải đối mặt với nó vì Glide.

Đó là

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

Vì vậy, tôi đã thêm exclude group: "com.android.support"Và nó trở thành

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

1
Tôi đã thêm dòng này vào cả 3 phụ thuộc mà tôi đã sử dụng. Nó đã giải quyết lỗi của tôi. Cảm ơn.
KhanStan99

13

Đảm bảo hai cái này là cùng một phiên bản trong tệp build.gradle cấp ứng dụng của bạn

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

Tôi nghĩ rằng nên giải quyết vấn đề



9

Cá nhân, tôi thêm dòng sau vào ứng dụng / build.gradle của mình:

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

Với cú pháp này, phiên bản là động.


6

Tôi đang sử dụng android studio 3.0 và tôi nâng cấp phụ thuộc mẫu thiết kế từ 26.0.1 lên 27.1.1 và lỗi đã biến mất.

Thêm theo sau trong lớp implementation 'com.android.support:design:27.1.1'


6

Sử dụng

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

Đừng dùng như

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

Nó có thể gây ra lỗi cho bạn và không sử dụng phiên bản cũ hơn phiên bản này.

hoặc sự kiện không làm như thế này

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

vv ... số lượng thư viện và sau đó

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

cùng một thư viện nhưng nó có một phiên bản khác, nó có thể gây ra lỗi cho bạn.


5

Tôi hạ cấp hỗ trợ

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

Sử dụng nó

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

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

Nó hoạt động hạnh phúc Codng


7
Có vẻ giống như một bản nâng cấp nếu bạn đi từ 27.0.2 đến 27.1.0
Denny

4

Cập nhật quan trọng

Thư viện hỗ trợ Android sẽ không được cập nhật sau 28.0.0. Theo Ghi chú Phát hành Thư viện Hỗ trợ -

Đây sẽ là bản phát hành tính năng cuối cùng trong bao bì android.support và các nhà phát triển được khuyến khích chuyển sang AndroidX 1.0.0 .

Vì vậy, sử dụng các thư viện hỗ trợ AndroidX thay thế. Trong trường hợp thư viện thiết kế của bạn bây giờ có sẵn trong gói vật liệu.

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

Tôi đã đặt các phiên bản mới nhất trong sự phụ thuộc, bạn có thể kiểm tra phiên bản mới nhất tại đây vào thời gian đọc.

Bài viết hữu ích:

  1. Giới thiệu và tích hợp AndroidX
  2. Tìm hiểu về Jetifier (công cụ di chuyển AndroidX)
  3. Một số Do và Dont

2

Tôi cũng có vấn đề này; và tôi đã giải quyết theo cách này:

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'
        }
    }
  }
}

hãy cẩn thận SDk tối thiểu của tôi là 26, bạn phải thay đổi nó với của bạn!


2

"Loại chương trình đã tồn tại" Xóa nội dung thư mục / xây dựng của bạn, nó có một số vấn đề Dex (?) Với các tệp nhị phân được tạo. Nhận được những câu trả lời giống như bạn, họ đã giúp giải quyết vấn đề này nhưng tạo ra nhiều câu trả lời khác. Xây dựng nội dung loại bỏ công việc cho tất cả.


1

Tôi biết đó là một câu trả lời muộn nhưng tôi có cùng một vấn đề và giải pháp của tôi chỉ là thêm implementation 'com.android.support:design:28.0.0hoặc bất kỳ thư viện thiết kế hỗ trợ nào ở trên !!


1

Điều này có thể xảy ra khi một thư viện được tải vào lớp nhiều lần. Thường xuyên nhất thông qua các thư viện kết nối khác.

Xóa một triển khai thư viện này trong build.gradle

Sau đó xây dựng -> Xóa dự án

và bạn có thể chạy lắp ráp)


0

Vì bản cập nhật mới nhất của Android không hỗ trợ 'biên dịch' sử dụng từ khóa 'triển khai' tại chỗ trong tệp build.gradle mô-đun của bạn .

Và kiểm tra kỹ lưỡng trong build.gradle cho sự phụ thuộc với dấu + như thế này.

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

Nếu có bất kỳ phụ thuộc nào như thế này, chỉ cần cập nhật chúng với một phiên bản cụ thể. Sau đó:

  1. Đồng bộ hóa lớp.
  2. Làm sạch dự án của bạn.
  3. Xây dựng lại dự án.

0

Nếu bất kỳ câu trả lời nào được đề cập ở đây không hoạt động thì hãy chuyển đến Tệp> Bắt không hợp lệ / Khởi động lại


1
nó không giúp đỡ :(
Jorgesys

0

Giải pháp cho việc này là loại bỏ sự phụ thuộc sau đây:

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

đặt các phụ thuộc chung như:

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

Thêm phần này vào dự án đã gradle.properties sửa nó cho chúng tôi:

android.enableJetifier=true
android.useAndroidX=true

0

Tập lệnh xây dựng của bạn phải phù hợp với các phụ thuộc build.gradle của ứng dụng.

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'
    ................
    ...........
}

nếu bạn muốn hạ cấp các phụ thuộc thì cũng hạ cấp supportLibVersion và buildToolsVersion.


0

Tôi cũng phải đối mặt với vấn đề tương tự. Nhưng sau đó tôi nhận ra rằng các phiên bản tôi đang sử dụng của các thư viện hỗ trợ không giống nhau.

Một khi tôi làm điều đó, lỗi đã biến mất.

Trong trường hợp của bạn

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

không giống nhau, vì vậy bạn vừa hạ cấp appcompat xuống

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

do đó, vấn đề của bạn đã được giải quyết.

Nhưng bạn cũng có thể giải quyết nếu bạn có thể nâng cấp phiên bản thiết kế hỗ trợ lên

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

0

Chuyển đến thư mục nơi bạn đặt các thư viện bổ sung và xóa các thư viện trùng lặp.


-1

Thay đổi tất cả các phụ thuộc để biên dịch thay vì thực hiện, sau đó tôi xây dựng lại dự án mà không có lỗi. Sau đó, tôi chuyển trở lại để thực hiện thay vì để nó dưới dạng biên dịch.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.