Помилка: тип програми вже присутній: 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", "source": [{}], "tool": "D8" }: app: transformDexArchiveWithExternalLibsDexMergerForDebug FAILED FAILURE: Помилка побудови за винятком. * Що пішло не так: Не вдалося виконати завдання ": 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 $ Поведінка

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 в залежності від додатків, це може статися .. Я витратив пекло багато часу, щоб зрозуміти це! Мені ніколи не потрібна firebase-ui, оскільки я використовував Picasso для отримання зображень із сховища firebase.
Асвіні Ієр

Відповіді:


214

Це спрацьовувало, коли я appcompatзнижував залежність градусів від підтримки , як і наступне:

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
Щойно вони публікують нові версії, вони змушують нас з розуму через дивні помилки. : |
Нгуен Мінь Бінь

Насправді в моєму випадку це було зовсім навпаки. 27.0.xне вдалося, а наткнувшись на 27.1.0складений проект, складений ... мех ...
Марцін Орловський

2
змінити його на compile 'com.android.support:design:27.1.0'нові версії
Мілад

@AnkitMehta У мене є аналогічна проблема, і пониження рівня мене не працює.
Eswar

спробуйте додати залежність дизайну підтримки.
Анкіт Мехта

78

Я зіткнувся з тією ж проблемою, я додав залежності від дизайну підтримки Android до рівня програми build.gradle

Додати наступне:

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

в build.gradle. Тепер це працює для мене.


2
Працює для мене. Ця проблема виникла після того, як бібліотека почала використовувати 27.1.0, поки додаток ще використовував 26.xx
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/isissue/219, і я отримую цю помилку Тип програми вже присутній: org.spongycastle.cert.AttributeCertificateHolder Що я роблю неправильно?
Приянка Сінгал

32

Це може бути причиною бібліотеки, я зіткнувся з нею через «Glide».

Це було

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'

Я думаю, що це повинно вирішити проблему


12

Використовуйте останню supportLibraryверсію 27.1.1для вирішення проблеми. працював на мене. (включено багато виправлень помилок - див. журнал змін )


1
Я все ще стикаюся з деякими помилками на кшталт:Error:Program type already present: org.apache.http.impl.auth.HttpEntityDigester
Трійця

реалізація «com.android.support:design:27.1.0 додати stackoverflow.com/questions/49112190 / ...
LOG_TAG

9

Особисто я додаю наступний рядок до своєї програми / build.gradle:

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

З цим синтаксисом версія динамічна.


6

Я використовую android studio 3.0, і я модернізую залежність дизайну від 26.0.1 до 27.1.1, і помилка відсутня.

Додати наступне в градусі 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'

Його робочий Happy 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

Оскільки найновіше оновлення для Android не підтримує ключове слово "компілювати", використовуйте "реалізацію" у вашому файлі build.gradle .

І ретельно перевіряйте в build.gradle на залежність із знаком +, як це.

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

Якщо є подібні залежності, просто оновіть їх конкретною версією. Після того:

  1. Синхронізувати ступінь.
  2. Очистіть свій проект.
  3. Побудуйте проект.

0

Якщо будь-який із зазначених тут відповідей не працює, перейдіть у меню Файл> Недійсний вилов / перезапуск


1
це не допомагає :(
Хорхесіс

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

якщо ви хочете знизити залежність, тоді також понизити підтримкуLibVersion і buildToolsVersion.


0

Я також зіткнувся з тією ж проблемою. Але потім я зрозумів, що версії, які я використовую, підтримують бібліотеки, не однакові.

Як тільки я зробив це так само, помилка пішла.

У вашому випадку

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

не однакові, тож ви просто погіршили додаток для програми

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

отже, ваша проблема вирішена.

Але ви також могли вирішити, якби ви могли оновити підтримку дизайнерської версії до

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

0

Перейдіть до каталогу, де ви помістите додаткові бібліотеки та видаліть дубліровані бібліотеки.


-1

Змінив усі залежності на компіляцію, а не на реалізацію, тоді я відновлював проект без помилок. Потім я перейшов до реалізації, а не залишав її як компіляцію.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.