Errore: tipo di programma già presente: android.support.design.widget.CoordinatorLayout $ Behavior


129

Ricevo il seguente errore durante la creazione del progetto. non ho usato CoordinatorLayout in questo progetto. appena aggiunto come dipendenza in build.gradle:

Sto usando Android Studio 3.2 Canary 4.

LogCat

AGPBI: {"kind": "error", "text": "Tipo di programma già presente: android.support.design.widget.CoordinatorLayout $ Behavior", "sources": [{}], "tool": "D8" }: app: transformDexArchiveWithExternalLibsDexMergerForDebug ERRORE NON RIUSCITO: generazione non riuscita con un'eccezione. * Cosa è andato storto: esecuzione non riuscita per l'attività ': app: transformDexArchiveWithExternalLibsDexMergerForDebug'.

com.android.builder.dexing.DexArchiveMergerException: errore durante l'unione degli archivi dex: /windows/Other/app/build/intermediates/transforms/dexBuilder/debug/0.jar, / windows / Altro / 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

Tipo di programma già 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"
}

5
basta aggiungere l' implementazione 'com.android.support:design:27.1.1' nel file gradle
Tushar Lathiya,

1
@TusharLathiya Ho un problema simile ma il downgrade ha funzionato per me. Sto usando la versione 27.0.0
Eswar

Se hai mai installato firebase-ui nella dipendenza dell'app, questo può succedere .. Ho passato un sacco di tempo a capirlo! Non ho mai avuto bisogno di Firebase-ui mentre stavo usando Picasso per recuperare immagini dalla memoria Firebase.
Aswini Iyer,

Risposte:


214

Ha funzionato quando ho downgrade la appcompatdipendenza del grado di supporto , come il seguente:

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

prima lo era

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

O

Inoltre, questo può essere risolto semplicemente aggiungendo la dipendenza della progettazione di supporto della versione 27.1.0 o successiva al livello dell'app build.gradlecome segue:

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

45
Una volta pubblicate nuove versioni, ci fanno impazzire a causa di strani errori. : |
Nguyen Minh Binh,

In realtà era piuttosto l'opposto nel mio caso. 27.0.xstava fallendo, mentre urtando la 27.1.0compilazione del progetto ... meh ...
Marcin Orlowski,

2
cambiarlo compile 'com.android.support:design:27.1.0'nelle nuove versioni
Milad,

@AnkitMehta Ho un problema simile e il downgrade non ha funzionato per me.
Eswar,

prova ad aggiungere la dipendenza dal design di supporto.
Ankit Mehta,

78

Ho riscontrato lo stesso problema, ho aggiunto dipendenze di progettazione del supporto Android a livello di app build.gradle

Aggiungi il seguente:

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

in build.gradle. Ora funziona per me.


2
Per me va bene. Questo problema si è verificato dopo che una libreria ha iniziato a utilizzare 27.1.0 mentre l'app utilizzava ancora 26.xx
Hong

La pulizia / ricostruzione del progetto potrebbe aiutare se non risolve immediatamente il problema. Questo è ciò che ha funzionato per me.
f3d0r

Principalmente tali errori si sono verificati a causa dell'incompatibilità della versione. Se si utilizza appcompat, progettare meglio le librerie per utilizzare le ultime versioni. Esempio: implementazione 'com.android.support:appcompat-v7:27.1.1' implementazione 'com.android.support:design:27.1.1'
eranda.del

Ciao, per favore, puoi darmi una mano mentre ho usato questa libreria per aggiungere l'immagine in PDF github.com/TomRoush/PdfBox-Android/issues/219 e sto ricevendo questo errore Tipo di programma già presente: org.spongycastle.cert.AttributeCertificateHolder What sto sbagliando?
Priyanka Singhal,

32

Potrebbe essere la causa di una biblioteca, l'ho affrontata a causa di Glide.

Era

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

Quindi ho aggiunto exclude group: "com.android.support"E diventa

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

1
Ho aggiunto questa linea a tutte e 3 le mie dipendenze che ho usato. Ha risolto il mio errore. Grazie.
KhanStan99,

13

Assicurati che questi due abbiano la stessa versione nel file build.gradle a livello di app

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

Penso che dovrebbe risolvere il problema



9

Personalmente, aggiungo la seguente riga alla mia app / build.gradle:

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

Con questa sintassi, la versione è dinamica.


6

Sto usando Android Studio 3.0 e aggiorno la dipendenza del modello di progettazione dal 26.0.1 al 27.1.1 e l'errore scompare.

Aggiungi Segue in gradi implementation 'com.android.support:design:27.1.1'


6

Uso

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

Non usare come

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

Potrebbe darti un errore e non utilizzare una versione precedente di questa.

o l'evento non fa così

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

ecc ... numero di librerie e poi

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

la stessa libreria ma ha una versione diversa, può darti un errore.


5

Eseguo il downgrade del supporto

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

Usalo

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

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

Funziona felice Codng


7
Sembra più un aggiornamento se vai dal 27.0.2 al 27.1.0
Denny il

4

Aggiornamento importante

Le librerie di supporto Android non verranno aggiornate dopo 28.0.0. Secondo le note di rilascio della libreria di supporto -

Questa sarà l'ultima versione della funzionalità con il pacchetto android.support e gli sviluppatori sono incoraggiati a migrare su AndroidX 1.0.0 .

Così utilizzare AndroidX invece librerie di supporto. Nel tuo caso la libreria di design è ora disponibile nel pacchetto materiale.

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

Ho messo le ultime versioni in dipendenza, puoi controllare l'ultima versione qui al momento della lettura.

Messaggi utili:

  1. Introduzione e integrazione AndroidX
  2. Informazioni su Jetifier (motore alla base della migrazione AndroidX)
  3. Alcune cose da fare e da non fare

2

Ho avuto anche questo problema; e l'ho risolto in questo modo:

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

fai attenzione il mio min SDk era 26, devi cambiarlo con il tuo!


2

"Il tipo di programma esiste già" Rimuovi il contenuto della directory / build, ha qualche problema Dex (?) Con i file binari generati. Arrivati ​​a quelle risposte proprio come te, hanno aiutato a risolvere questo problema, ma ne hanno creati molti altri. La rimozione dei contenuti di build funziona per tutti.


1

So che è una risposta tardiva, ma ho avuto lo stesso problema e la mia soluzione era semplicemente l'aggiunta implementation 'com.android.support:design:28.0.0o qualsiasi delle librerie di progettazione di supporto sopra!


1

Questo può accadere quando una libreria viene caricata in gradle più volte. Molto spesso attraverso altre librerie connesse.

Rimuovere un'implementazione da questa libreria in build.gradle

Quindi Build -> Cancella progetto

e puoi eseguire l'assemblaggio)


0

Poiché l'ultimo aggiornamento di Android non supporta la parola chiave "compila", utilizzare "implementazione" all'interno del modulo build.gradle file .

E controlla attentamente in build.gradle per la dipendenza con + segno in questo modo.

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

Se ci sono dipendenze come questa, basta aggiornarle con una versione specifica. Dopo di che:

  1. Sincronizza livello.
  2. Pulisci il tuo progetto.
  3. Ricostruisci il progetto.


0

La soluzione per questo è quella di rimuovere la seguente dipendenza:

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

metti dipendenze generali come:

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

L'aggiunta di questo al progetto lo ha gradle.properties risolto per noi:

android.enableJetifier=true
android.useAndroidX=true

0

Lo script di compilazione deve corrispondere alle dipendenze dell'applicazione 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'
    ................
    ...........
}

se si desidera effettuare il downgrade delle dipendenze, eseguire anche il downgrade di supportLibVersion e buildToolsVersion.


0

Ho anche affrontato lo stesso problema. Ma poi ho capito che le versioni che sto usando delle librerie di supporto non erano le stesse.

Una volta fatto lo stesso, l'errore è scomparso.

Nel tuo caso

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

non sono uguali, quindi hai appena declassato l'appcompat

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

quindi, il tuo problema è stato risolto.

Ma avresti potuto anche risolvere se avessi potuto aggiornare la versione del progetto di supporto a

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

0

Vai alla directory in cui inserisci ulteriori librerie ed elimina le librerie duplicate.


-1

Ho modificato tutte le dipendenze per la compilazione anziché l'implementazione, quindi ho ricostruito il progetto senza errori. Quindi sono tornato all'implementazione piuttosto che lasciarlo come compilazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.