Ошибка: Тип программы уже присутствует: android.support.design.widget.CoordinatorLayout $Behavior
Я получаю следующую ошибку при сборке проекта. не использовал 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/Others/app/build/промежуточные/промежуточные /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"
}
Ответы
Ответ 1
Это сработало, когда я понизил зависимость gradle поддержки 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'
Ответ 2
Я столкнулся с той же проблемой, я добавил зависимости дизайна поддержки Android на уровне приложения build.gradle
Добавить следующее:
implementation 'com.android.support:design:27.1.0'
в build.gradle. Теперь это работает для меня.
Ответ 3
Это может быть причиной библиотеки, я столкнулся с этим из-за 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"
}
Ответ 4
Убедитесь, что эти две версии совпадают в вашем файле build.gradle уровня приложения.
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
Я думаю, что это должно решить проблему
Ответ 5
Используйте последнюю версию supportLibrary
, версию 27.1.1
для решения проблемы. работал на меня. (исправлены многие ошибки - см. список изменений)
Ответ 6
Лично я добавляю следующую строку в мой app/build.gradle:
implementation "com.android.support:design:${rootProject.ext.supportLibVersion}"
С этим синтаксисом версия является динамической.
Ответ 7
использование
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.+'
та же библиотека, но у нее другая версия, она может выдать ошибку.
Ответ 8
Я использую Android Studio 3.0 и я обновляю зависимость шаблона проектирования с 26.0.1 до 27.1.1, и ошибка исчезла.
Добавьте следующее в implementation 'com.android.support:design:27.1.1'
gradle implementation 'com.android.support:design:27.1.1'
Ответ 9
Я понижаю поддержку
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
Ответ 10
Важное обновление
Библиотеки поддержки 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
}
Я поместил последние версии в зависимость, вы можете проверить последнюю версию здесь во время чтения.
Полезные сообщения:
- AndroidX введение и интеграция
- Узнайте о Jetifier (движок за миграцию AndroidX)
- Некоторые делают и не делают
Ответ 11
У меня тоже была эта пробема; и я решил, что таким образом:
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, вы должны изменить его со своим!
Ответ 12
Я знаю, что это поздний ответ, но у меня была та же проблема, и мое решение было просто добавить implementation 'com.android.support:design:28.0.0
или любую implementation 'com.android.support:design:28.0.0
вышеупомянутую поддержку библиотек дизайна !!
Ответ 13
"Тип программы уже существует" Удалите содержимое каталога /build, у него есть некоторая проблема Dex (?) С сгенерированными двоичными файлами. Получил эти ответы так же, как вы, они помогли решить эту проблему, но создали много других. Удаление содержимого сборки работает для всех.
Ответ 14
Поскольку последнее обновление Android не поддерживает ключевое слово "compile", используйте "реализацию" внутри вашего файла build.gradle модуля.
И тщательно проверьте в build.gradle наличие зависимости со знаком +, как это.
implementation 'com.android.support:support-v4:28.+'
Если есть такие зависимости, просто обновите их до определенной версии. После этого:
- Синхронизировать Gradle.
- Очистите свой проект.
- Перестройте проект.
Ответ 15
Решение для этого состоит в том, чтобы удалить эту следующую зависимость:
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'
}
Ответ 16
Я получил эту ошибку после обновления com.android.support.constraint:constraint-layout
с 1.1.0 до 1.1.3. Возможно стоит попробовать.
Ответ 17
Добавление этого к проекту gradle.properties
исправило это для нас:
android.enableJetifier=true
android.useAndroidX=true
Ответ 18
Ваш скрипт сборки должен соответствовать зависимостям приложения 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.
Ответ 19
Я также столкнулся с той же проблемой. Но потом я понял, что используемые мной версии библиотек поддержки не совпадают.
Как только я сделал то же самое, ошибка исчезла.
В твоем случае
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'
Ответ 20
Если какой-либо из ответов, упомянутых здесь, не работает, перейдите в File> Invalidate Catches/Restart
Ответ 21
В моем случае проблема была в том, что у меня уже был файл jar в папке lib/. Удаление это решило проблему.
Так что проверьте, есть ли в вашей папке jar:
find . -name *.jar
Если он есть в папке lib, попробуйте удалить его
Ответ 22
Перейдите в каталог, куда вы положили дополнительные библиотеки и удалите дублированные библиотеки.
Ответ 23
Это может случиться, когда одна библиотека загружается в gradle несколько раз. Чаще всего через другие подключенные библиотеки.
Удалите реализацию этой библиотеки в build.gradle
Затем построить → очистить проект
и вы можете запустить сборку)
Ответ 24
Вам нужно очистить проект, чтобы он правильно перестраивался. В меню Android Studio: Build → Clean Project
Ответ 25
Изменены все зависимости для компиляции, а не для реализации, затем я перестраиваю проект без ошибок. Затем я вернулся к реализации, а не оставил ее как компиляцию.