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"
}
Ankit Mehta
quelle
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'
Ankit Mehta
quelle
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.

Balaji Purusothaman
quelle
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"
    }
Kishan Solanki
quelle
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

James Idowu
quelle
12

Verwenden Sie die neueste supportLibraryVersion 27.1.1, um das Problem zu lösen. arbeitete für mich. (viele Bugfixes enthalten - siehe Changelog )

LOG_TAG
quelle
1
Ich stehe immer noch vor einigen Fehlern wie:Error:Program type already present: org.apache.http.impl.auth.HttpEntityDigester
Trinity
Implementierung 'com.android.support:design:27.1.0 add this stackoverflow.com/questions/49112190/…
LOG_TAG
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.

Jérôme Legrand
quelle
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'

Dhruvisha
quelle
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.

Deven
quelle
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

Keshav Gera
quelle
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
Khemraj
quelle
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!

محمد
quelle
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.

Vitali Pom
quelle
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 !!

raed
quelle
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)

Дмитрий Гаврилов
quelle
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.
Amit Pandya
quelle
0

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

Ssubrat Rrudra
quelle
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'
}
Pradeep Sheoran
quelle
0

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

android.enableJetifier=true
android.useAndroidX=true
Pitel
quelle
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.

user3143487
quelle
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'
Ankush Joshi
quelle
0

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

BlackGraper
quelle
-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.

Steve White
quelle