Ошибка: тип программы уже присутствует: 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 FAILED FAILURE: сбой сборки с исключением. * Что пошло не так: не удалось выполнить задачу ': app: transformDexArchiveWithExternalLibsDexMergerForDebug'.

com.android.builder.dexing.DexArchiveMergerException: ошибка при слиянии архивов dex: /windows/Other/app/build/intermediates/transforms/dexBuilder/debug/0.jar, / windows / Other / app / build / intermediate / 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 01

1
@TusharLathiya У меня аналогичная проблема, но у меня сработало понижение версии. Я использую версию 27.0.0
Эсвар

Если вы когда-либо устанавливали firebase-ui в зависимости от приложения, это может произойти ... Я потратил чертовски много времени, чтобы понять это! Мне никогда не нужен firebase-ui, поскольку я использовал Picasso для извлечения изображений из хранилища firebase.
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
Когда они публикуют новые версии, они сводят нас с ума из-за странных ошибок. : |
Нгуен Минь Бинь

На самом деле в моем случае все было наоборот. 27.0.xтерпел неудачу, когда натыкался на 27.1.0компиляцию проекта ... м-м ...
Марчин Орловски

2
поменять его на compile 'com.android.support:design:27.1.0'в новых версиях
Милад

@AnkitMehta У меня похожая проблема, и переход на более раннюю версию не помог.
Eswar

попробуйте добавить зависимость дизайна поддержки.
Ankit Mehta

78

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

Добавьте следующее:

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

в build.gradle. Теперь он работает на меня.


2
Работает для меня. Эта проблема возникла после того, как библиотека начала использовать 27.1.0, в то время как приложение все еще использовало 26.xx
Гонконг,

Очистка / перестройка проекта может помочь, если проблема не устранена немедленно. Вот что у меня сработало.
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 Что я делаю не так?
Приянка Сингхал,

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
Я добавил эту строку ко всем трем своим зависимостям, которые использовал. Это устранило мою ошибку. Спасибо.
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
Trinity

реализация 'com.android.support:design:27.1.0 добавьте этот stackoverflow.com/questions/49112190/…
LOG_TAG

9

Лично я добавляю в свой app / build.gradle следующую строку:

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

С этим синтаксисом версия является динамической.


6

Я использую android studio 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'

Его рабочий счастливый коднг


7
Больше похоже на обновление, если вы перейдете с 27.0.2 на 27.1.0
Денни

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

Затем Build -> Clear project

и можно запускать сборку)


0

Поскольку последнее обновление Android не поддерживает ключевое слово 'compile', используйте 'implementation' внутри файла build.gradle вашего модуля .

И тщательно проверьте build.gradle на зависимость с помощью знака +, подобного этому.

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

Если есть какие-либо подобные зависимости, просто обновите их определенной версией. После этого:

  1. Синхронизировать градиент.
  2. Очистите свой проект.
  3. Восстановите проект.


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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.