Fehler: Programmtyp bereits vorhanden: android.support.design.widget.CoordinatorLayout $ Behaviour


129

Beim Erstellen des Projekts wird die folgende Fehlermeldung angezeigt. habe CoordinatorLayout in diesem Projekt nicht verwendet. wurde gerade als Abhängigkeit in build.gradle hinzugefügt:

Ich benutze Android Studio 3.2 Canary 4.

LogCat

AGPBI: {"kind": "error", "text": "Programmtyp bereits vorhanden: android.support.design.widget.CoordinatorLayout $ Behavior", "sources": [{}], "tool": "D8" }: app: transformDexArchiveWithExternalLibsDexMergerForDebug FAILED FAILURE: Build mit einer Ausnahme fehlgeschlagen. * Was ist schief gelaufen: Ausführung für Aufgabe ': app: transformDexArchiveWithExternalLibsDexMergerForDebug' fehlgeschlagen.

com.android.builder.dexing.DexArchiveMergerException: Fehler beim Zusammenführen von Dex-Archiven: /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

Bereits vorhandener Programmtyp: android.support.design.widget.CoordinatorLayout $ Behaviour

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
Fügen Sie einfach die Implementierung 'com.android.support:design:27.1.1' in die Gradle-Datei ein
Tushar Lathiya

1
@TusharLathiya Ich habe ein ähnliches Problem, aber ein Downgrade hat bei mir funktioniert. Ich benutze Version 27.0.0
Eswar

Wenn Sie jemals firebase-ui in App-Abhängigkeit installiert haben, kann dies passieren. Ich habe verdammt viel Zeit damit verbracht, dies herauszufinden! Ich brauche nie firebase-ui, da ich picasso verwendet habe, um Bilder aus dem firebase-Speicher abzurufen.
Aswini Iyer

Antworten:


214

Es hat funktioniert, als ich die Support- appcompatGradle-Abhängigkeit herabgestuft habe, wie folgt:

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

vorher war es

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

ODER

Dies kann auch behoben werden, indem Sie einfach die Abhängigkeit des Support-Designs von Version 27.1.0 oder höher zu Ihrer App-Ebene build.gradlewie folgt hinzufügen :

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

45
Sobald sie neue Versionen veröffentlichen, machen sie uns wegen seltsamer Fehler verrückt. : |
Nguyen Minh Binh

Eigentlich war es in meinem Fall ziemlich umgekehrt. 27.0.xscheiterte, als ich anstieß, um 27.1.0das Projekt kompilieren zu lassen ... meh ...
Marcin Orlowski

2
Ändern Sie es compile 'com.android.support:design:27.1.0'in den neuen Versionen
Milad

@AnkitMehta Ich habe ein ähnliches Problem und ein Downgrade hat bei mir nicht funktioniert.
Eswar

Versuchen Sie, die Abhängigkeit vom Support-Design hinzuzufügen.
Ankit Mehta

78

Ich hatte das gleiche Problem und fügte der App-Ebene Abhängigkeiten zum Design des Android-Supports hinzu build.gradle

Fügen Sie Folgendes hinzu:

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

in build.gradle. Jetzt funktioniert es für mich.


2
Funktioniert bei mir. Dieses Problem trat auf, nachdem eine Bibliothek begann, 27.1.0 zu verwenden, während die App noch 26.xx
Hong

Das Bereinigen / Wiederherstellen des Projekts kann hilfreich sein, wenn das Problem nicht sofort behoben wird. Das hat bei mir funktioniert.
f3d0r

Meistens traten solche Fehler aufgrund von Inkompatibilitäten der Version auf. Wenn Sie appcompat verwenden, sollten Sie Bibliotheken besser entwerfen, um die neuesten Versionen zu verwenden. Beispiel: Implementierung 'com.android.support:appcompat-v7:27.1.1' Implementierung 'com.android.support:design:27.1.1'
eranda.del

Hallo, können Sie helfen mir bitte, wie ich diese Bibliothek verwenden für das Hinzufügen von Bild in PDF github.com/TomRoush/PdfBox-Android/issues/219 und ich erhalte dieser Fehler Programmtyp bereits vorhanden: org.spongycastle.cert.AttributeCertificateHolder Was mache ich falsch
Priyanka Singhal

32

Es könnte eine Ursache für eine Bibliothek sein, ich habe mich wegen Glide damit auseinandergesetzt.

Es war

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

Also habe ich hinzugefügt exclude group: "com.android.support"und es wird

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

1
Ich habe diese Zeile zu allen drei von mir verwendeten Abhängigkeiten hinzugefügt. Es hat meinen Fehler behoben. Vielen Dank.
KhanStan99

13

Stellen Sie sicher, dass diese beiden Versionen in Ihrer build.gradle-Datei auf App-Ebene identisch sind

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

Ich denke, das sollte das Problem lösen



9

Persönlich füge ich meiner app / build.gradle die folgende Zeile hinzu:

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

Mit dieser Syntax ist die Version dynamisch.


6

Ich verwende Android Studio 3.0 und aktualisiere die Designmusterabhängigkeit von 26.0.1 auf 27.1.1 und der Fehler ist jetzt weg.

Fügen Sie Folgendes in Gradle hinzu implementation 'com.android.support:design:27.1.1'


6

Verwenden

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

Verwenden Sie nicht wie

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

Möglicherweise wird ein Fehler angezeigt, und Sie verwenden keine ältere Version.

oder Ereignis nicht so

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

etc ... Anzahl der Bibliotheken und dann

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

Dieselbe Bibliothek, aber eine andere Version, kann einen Fehler verursachen.


5

Ich stufe den Support herab

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

Benutze es

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

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

Es funktioniert Happy Codng


7
Scheint eher ein Upgrade zu sein, wenn Sie von 27.0.2 auf 27.1.0
Denny

4

Wichtiges Update

Android-Support-Bibliotheken werden danach nicht mehr aktualisiert 28.0.0. Laut Support Library Release Notes -

Dies ist die letzte Feature-Version unter der android.support-Verpackung. Entwickler werden aufgefordert, auf AndroidX 1.0.0 zu migrieren .

Also benutze Sie stattdessen AndroidX- Unterstützungsbibliotheken. In Ihrem Fall ist die Designbibliothek jetzt im Materialpaket verfügbar.

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

Ich habe die neuesten Versionen in Abhängigkeit gesetzt. Sie können die neueste Version hier zum Zeitpunkt des Lesens überprüfen .

Nützliche Beiträge:

  1. Einführung und Integration von AndroidX
  2. Erfahren Sie mehr über Jetifier (Engine hinter der AndroidX-Migration)
  3. Einige Do's und Dont's

2

Ich hatte auch dieses Problem; und ich habe das folgendermaßen gelöst:

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

Sei vorsichtig, mein min SDk war 26, du musst es mit deinem ändern!


2

"Programmtyp existiert bereits" Entfernen Sie den Inhalt Ihres / build-Verzeichnisses. Es liegt ein Dex (?) - Problem mit den generierten Binärdateien vor. Genau wie Sie zu diesen Antworten gekommen, haben sie zur Lösung dieses Problems beigetragen, aber viele andere geschaffen. Das Entfernen von Build-Inhalten funktioniert für alle.


1

Ich weiß, dass es eine späte Antwort ist, aber ich hatte das gleiche Problem und meine Lösung war nur das Hinzufügen implementation 'com.android.support:design:28.0.0oder eine der oben genannten Unterstützungsdesignbibliotheken !!


1

Dies kann passieren, wenn eine Bibliothek mehrmals in gradle geladen wird. Meistens über andere verbundene Bibliotheken.

Entfernen Sie eine Implementierung dieser Bibliothek in build.gradle

Dann Erstellen -> Projekt löschen

und Sie können die Assembly ausführen)


0

Da das neueste Android-Update das Schlüsselwort "Kompilieren" nicht unterstützt, verwenden Sie "Implementierung" in der Datei " build.gradle" Ihres Moduls .

Und überprüfen Sie in build.gradle gründlich die Abhängigkeit mit einem solchen + Zeichen.

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

Wenn es solche Abhängigkeiten gibt, aktualisieren Sie sie einfach mit einer bestimmten Version. Nachdem:

  1. Gradle synchronisieren.
  2. Reinigen Sie Ihr Projekt.
  3. Erstellen Sie das Projekt neu.

0

Wenn eine der hier genannten Antworten nicht funktioniert, gehen Sie zu Datei> Catches ungültig machen / neu starten


1
es hilft nicht :(
Jorgesys

0

Die Lösung hierfür besteht darin, die folgende Abhängigkeit zu entfernen:

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

Setzen Sie allgemeine Abhängigkeiten wie folgt ein:

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

Das Hinzufügen zu dem Projekt hat gradle.properties es für uns behoben:

android.enableJetifier=true
android.useAndroidX=true

0

Ihr Build-Skript sollte mit den Abhängigkeiten der Anwendung build.gradle übereinstimmen.

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

Wenn Sie Abhängigkeiten herabstufen möchten, stufen Sie auch supportLibVersion und buildToolsVersion herab.


0

Ich hatte auch das gleiche Problem. Aber dann wurde mir klar, dass die Versionen, die ich von Support-Bibliotheken verwende, nicht dieselben waren.

Sobald ich es gleich gemacht habe, ist der Fehler verschwunden.

In deinem Fall

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

sind nicht gleich, also haben Sie gerade appcompat auf herabgestuft

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

Damit ist Ihr Problem gelöst.

Sie hätten aber auch eine Lösung finden können, wenn Sie die Support-Design-Version auf aktualisiert hätten

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

0

Wechseln Sie in das Verzeichnis, in dem Sie zusätzliche Bibliotheken ablegen, und löschen Sie doppelte Bibliotheken.


-1

Alle Abhängigkeiten wurden so geändert, dass sie kompiliert und nicht implementiert wurden. Dann habe ich das Projekt ohne Fehler neu erstellt. Dann bin ich zurück zur Implementierung gewechselt, anstatt sie als kompiliert zu belassen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.