Error: tipo de programa ya presente: android.support.design.widget.CoordinatorLayout $ Behavior

129

Recibo el siguiente error al construir el proyecto. no he usado CoordinatorLayout en este proyecto. recién agregado como una dependencia en build.gradle:

Estoy usando Android Studio 3.2 Canary 4.

LogCat

AGPBI: {"kind": "error", "text": "Tipo de programa ya presente: android.support.design.widget.CoordinatorLayout $ Behavior", "sources": [{}], "tool": "D8" }: aplicación: transformDexArchiveWithExternalLibsDexMergerForDebug FAILED FAILURE: Falló la compilación con una excepción. * Lo que salió mal: la ejecución falló para la tarea ': aplicación: transformDexArchiveWithExternalLibsDexMergerForDebug'.

com.android.builder.dexing.DexArchiveMergerException: Error al fusionar archivos dex: /windows/Other/app/build/intermediates/transforms/dexBuilder/debug/0.jar, / windows / Other / app / build / intermedtes / 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

Tipo de programa ya presente: 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"
}
Ankit Mehta
fuente
55
simplemente agregue la implementación 'com.android.support:design:27.1.1' en el archivo gradle
Tushar Lathiya
1
@TusharLathiya Tengo un problema similar, pero la degradación me ha funcionado. Estoy usando la versión 27.0.0
Eswar
Si alguna vez instaló firebase-ui en la dependencia de la aplicación, esto puede ocurrir ... ¡Pasé mucho tiempo para resolver esto! Nunca necesito firebase-ui ya que estaba usando picasso para recuperar imágenes del almacenamiento de firebase.
Aswini Iyer

Respuestas:

214

Funcionó cuando appcompatrebajé la dependencia de soporte gradle, como sigue:

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

anteriormente era

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

O

Además, esto se puede solucionar simplemente agregando la dependencia de diseño de soporte de la versión 27.1.0 o superior a su nivel de aplicación de la build.gradlesiguiente manera:

implementation 'com.android.support:design:27.1.0'
Ankit Mehta
fuente
45
Una vez que publican nuevas versiones, nos vuelven locos por errores extraños. : |
Nguyen Minh Binh
En realidad fue bastante opuesto en mi caso. 27.0.xestaba fallando, mientras se topaba con la 27.1.0compilación del proyecto ... meh ...
Marcin Orlowski
2
cambiarlo a compile 'com.android.support:design:27.1.0'en las nuevas versiones
Milad
@AnkitMehta Tengo un problema similar y la degradación no me ha funcionado.
Eswar
intente agregar dependencia de diseño de soporte.
Ankit Mehta
78

Me enfrenté al mismo problema, agregué dependencias de diseño de soporte de Android al nivel de la aplicación build.gradle

Añadir siguiente:

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

en build.gradle. Ahora está funcionando para mí.

Balaji Purusothaman
fuente
2
Funciona para mi. Este problema ocurrió después de que una biblioteca comenzó a usar 27.1.0 mientras la aplicación todavía usaba 26.xx
Hong
La limpieza / reconstrucción del proyecto podría ayudar si no soluciona el problema de inmediato. Eso fue lo que funcionó para mí.
f3d0r
La mayoría de estos errores se produjeron debido a la incompatibilidad de versiones. Si usa appcompat, diseñe mejor las bibliotecas para usar las últimas versiones. Ejemplo: implementación 'com.android.support:appcompat-v7:27.1.1' implementación 'com.android.support:design:27.1.1'
eranda.del
Hola, ¿pueden ayudarme cuando usé esta biblioteca para agregar imágenes en PDF? Github.com/TomRoush/PdfBox-Android/issues/219 y obtengo este error. El tipo de programa ya está presente: org.spongycastle.cert.AttributeCertificateHolder What estoy haciendo mal?
Priyanka Singhal
32

Podría ser causa de una biblioteca, lo enfrenté por Glide.

Era

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

Así que agregué exclude group: "com.android.support"y se convierte

implementation ('com.github.bumptech.glide:glide:4.7.1') {
        exclude group: "com.android.support"
    }
Kishan Solanki
fuente
1
He agregado esta línea a las 3 dependencias que he usado. Se resolvió mi error. Gracias.
KhanStan99
13

Asegúrese de que estos dos sean la misma versión en el archivo build.gradle de su nivel de aplicación

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

Creo que eso debería resolver el problema.

James Idowu
fuente
12

Use la última supportLibraryversión 27.1.1para resolver el problema. trabajó para mi. (muchas correcciones de errores incluidas - ver el registro de cambios )

LOG_TAG
fuente
1
Todavía me enfrento a algunos errores como:Error:Program type already present: org.apache.http.impl.auth.HttpEntityDigester
Trinity
implementación 'com.android.support:design:27.1.0 agregue este stackoverflow.com/questions/49112190/…
LOG_TAG
9

Personalmente, agrego la siguiente línea a mi aplicación / build.gradle:

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

Con esta sintaxis, la versión es dinámica.

Jérôme Legrand
fuente
6

Estoy usando Android Studio 3.0 y actualizo la dependencia del patrón de diseño de 26.0.1 a 27.1.1 y el error desapareció ahora.

Añadir siguiente en gradle implementation 'com.android.support:design:27.1.1'

Dhruvisha
fuente
6

Utilizar

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

No utilizar como

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

Puede darte un error y no uses una versión anterior a esta.

o evento no hace así

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

etc ... números de bibliotecas y luego

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

la misma biblioteca pero tiene una versión diferente, puede darte un error.

Deven
fuente
5

Rebajo el soporte

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

Úsalo

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

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

Está trabajando feliz codng

Keshav Gera
fuente
77
Parece más una actualización si pasas de 27.0.2 a 27.1.0
Denny
4

Actualización importante

Las bibliotecas de soporte de Android no se actualizarán después 28.0.0. De acuerdo con las Notas de la versión de la biblioteca de soporte :

Esta será la última versión de la función bajo el paquete android.support, y se alienta a los desarrolladores a migrar a AndroidX 1.0.0 .

Por lo tanto, use las bibliotecas de soporte de AndroidX en su lugar. En su caso, la biblioteca de diseño ya está disponible en paquete de material.

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

He puesto las últimas versiones en dependencia, puede consultar la última versión aquí en el momento de la lectura.

Publicaciones útiles:

  1. Introducción e integración de AndroidX
  2. Aprenda sobre Jetifier (motor detrás de la migración de AndroidX)
  3. Algunos hacer y no hacer
Khemraj
fuente
2

Yo tuve este problema también; y resolví eso de esta manera:

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

ten cuidado, mi SDK mínimo tenía 26 años, ¡tienes que cambiarlo con el tuyo!

محمد
fuente
2

"El tipo de programa ya existe" Elimine el contenido del directorio / build, tiene algún problema de Dex (?) Con los archivos binarios generados. Recibió esas respuestas como usted, ayudaron a resolver este problema pero crearon muchas otras. La eliminación de contenido de compilación funciona para todos.

Vitali Pom
fuente
1

Sé que es una respuesta tardía, ¡pero tuve el mismo problema y mi solución fue solo agregar implementation 'com.android.support:design:28.0.0o cualquier biblioteca de diseño de soporte anterior!

raed
fuente
1

Esto puede suceder cuando una biblioteca se carga en gradle varias veces. Muy a menudo a través de otras bibliotecas conectadas.

Eliminar una implementación de esta biblioteca en build.gradle

Luego Build -> Clear project

y puedes ejecutar el ensamblaje)

Дмитрий Гаврилов
fuente
0

Como la última actualización de Android no admite 'compilar' el uso de palabras clave 'implementación' dentro del archivo build.gradle de su módulo .

Y revise a fondo en build.gradle para ver la dependencia con el signo + como este.

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

Si hay dependencias como esta, simplemente actualícelas con una versión específica. Después de esto:

  1. Sincronizar gradle.
  2. Limpia tu proyecto.
  3. Reconstruir el proyecto.
amit pandya
fuente
0

Si alguna de las respuestas mencionadas aquí no funciona, vaya a Archivo> Invalidar capturas / reiniciar

Ssubrat Rrudra
fuente
1
no ayuda :(
Jorgesys
0

La solución para esto es eliminar la siguiente dependencia:

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

poner dependencias generales como:

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'
}
Pradeep Sheoran
fuente
0

Agregar esto al proyecto lo gradle.properties arregló para nosotros:

android.enableJetifier=true
android.useAndroidX=true
Pitel
fuente
0

Su script de compilación debe coincidir con las dependencias de la aplicación 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'
    ................
    ...........
}

si desea degradar las dependencias, también puede degradar supportLibVersion y buildToolsVersion.

usuario3143487
fuente
0

También me enfrenté al mismo problema. Pero luego me di cuenta de que las versiones que uso de las bibliotecas de soporte no eran las mismas.

Una vez que lo hice, el error desapareció.

En tu caso

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

no son lo mismo, por lo que acaba de degradar appcompat a

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

Por lo tanto, su problema resuelto.

Pero también podría haber resuelto si hubiera actualizado la versión de diseño de soporte a

implementation 'com.android.support:design:27.1.0'
Ankush Joshi
fuente
0

Vaya al directorio donde coloca bibliotecas adicionales y elimine las bibliotecas duplicadas.

BlackGraper
fuente
-1

Cambié todas las dependencias para compilar en lugar de implementar, luego reconstruí el proyecto sin errores. Luego volví a la implementación en lugar de dejarla como compilación.

Steve White
fuente