it-swarm.com.de

Dex kann nicht zusammengeführt werden

Ich habe Android Studio Beta. Ich habe ein neues Projekt erstellt, in dem meine alten Module kompiliert wurden, aber beim Versuch, die App zu starten, wurde sie nicht mit der folgenden Meldung gestartet:

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

com.Android.builder.dexing.DexArchiveMergerException: Dex kann nicht zusammengeführt werden

Ich weiß nicht, wie ich diesen Fehler beheben kann. Ich habe dies stundenlang gegoogelt, aber ohne Erfolg. 

Mein Projektabschluss:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.0.0-beta6'
        classpath "io.realm:realm-gradle-plugin:3.7.1"
        classpath 'com.google.gms:google-services:3.1.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Meine App gradle:

    apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        applicationId "parad0x.sk.onlyforyou"
        minSdkVersion 21
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
        debug {
        }
    }
    compileOptions {
        targetCompatibility 1.7
        sourceCompatibility 1.7
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
    }
    lintOptions {
        checkReleaseBuilds false
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.Android.support', module: 'support-annotations'
    })
    //noinspection GradleCompatible
    compile 'com.Android.support:appcompat-v7:26.0.0-alpha1'
    compile project(path: ':loginregisterview')


}

Und mein Modulgrad: 

    apply plugin: 'com.Android.library'
apply plugin: 'realm-Android'

Android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.Android.support', module: 'support-annotations'
    })
    compile 'com.Android.support:appcompat-v7:26.0.2'
    compile 'com.Android.support:support-v4:26.1.0'
    compile 'com.github.bumptech.glide:glide:4.0.0'
    testCompile 'junit:junit:4.12'
    compile project(path: ':parser')

}

Mein zweites Modul:

     apply plugin: 'com.Android.library'
apply plugin: 'realm-Android'

Android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"

    }

    realm {
        syncEnabled = true
    }
    useLibrary 'org.Apache.http.legacy'

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile 'junit:junit:4.12'
    //  compile 'com.Android.support:appcompat-v7:23.1.0'

    //   compile 'com.fasterxml.jackson.core:jackson-core:2.9.0'
 //   compile 'com.fasterxml.jackson.core:jackson-annotations:2.9.0'
 //   compile 'com.fasterxml.jackson.core:jackson-databind:2.9.0'
    compile 'com.google.code.gson:gson:2.6.2'
}

____________finden_________

Wenn ich das zweite Modul (Parser) nicht importierte, stürzte die App auf Dex nicht ab, aber wenn das Modul nicht importiert wurde, funktionierte die App nicht. : D: D 

262
Parad0X

Ich hatte das gleiche Problem, wenn ich von com.google.Android.gms:play-services:11.2.2 auf com.google.Android.gms:play-services:11.4.0 aktualisiere. Das hat es für mich gelöst:

  1. sauber
  2. wieder aufbauen
270

Ich habe alles oben ausprobiert und keiner von ihnen hilft, endlich finde ich diese Arbeit für mich:

app/build.gradle:

Android {
    defaultConfig {
       multiDexEnabled true
    }
}
248
itzhar

Warnhinweise beachten!

Manchmal müssen Sie nur Warnungen entfernen und der Fehler wird automatisch ausgeblendet. Siehe unten Sonderfall:


Ich hatte diese beiden Abhängigkeiten in meiner build.gradle-Datei auf Modulebene:

implementation 'com.Android.support:appcompat-v7:27.0.2'
implementation 'com.Android.support:recyclerview-v7:27.0.2'

und Studio warnte (zusätzlich zum Dex-Problem):

Alle com.Android.support-Bibliotheken müssen exakt dieselbe Versionsspezifikation verwenden (das Mischen von Versionen kann zu Laufzeitabstürzen führen). Gefundene Versionen 27.0.2, 21.0.3. Beispiele sind com.Android.support:animated-vector-drawable:27.0.2 und com.Android.support:support-v4:21.0.3

Also habe ich explizit die Version von com.Android.support:support-v4 bestimmt (siehe hier für Details) und beide Probleme (die Warnung und das mit dem Zusammenführen von Dex verbundene) gelöst:

implementation 'com.Android.support:support-v4:27.0.2'  // Added this line (according to above warning message)
implementation 'com.Android.support:appcompat-v7:27.0.2'
implementation 'com.Android.support:recyclerview-v7:27.0.2'

Siehe ähnliche Kommentare für weitere ähnliche Situationen.

54
Mir-Ismaili

In meinem Fall haben leider weder Michels noch Suragchs Lösungen für mich funktioniert.

Also habe ich dieses Problem gelöst, indem ich Folgendes getan habe:

In gradle: 3.0 ist die Konfiguration von compile nun veraltet und sollte durch Implementation oder api ersetzt werden. Für weitere Informationen können Sie lesen Sie hier Sie können die offiziellen Dokumente unter Gradle Build Tool lesen.

Die Kompilierungskonfiguration ist noch vorhanden, sollte aber nicht verwendet werden, da sie nicht die Gewähr dafür bietet, dass API und Implementierung Konfigurationen bieten.

es ist besser, Implementation oder api zu verwenden, eher compile

ersetzen Sie einfach compile durch Implementation, debugCompile durch debugImplementation, testCompile durch testImplementation und androidtestcompile durch androidTestImplementation.

Zum Beispiel: Stattdessen 

compile 'com.Android.support:appcompat-v7:26.0.2'
compile 'com.Android.support:support-v4:26.1.0'
compile 'com.github.bumptech.glide:glide:4.0.0'

verwenden Sie so 

implementation 'com.Android.support:appcompat-v7:26.0.2'
implementation 'com.Android.support:support-v4:26.1.0'
implementation 'com.github.bumptech.glide:glide:4.0.0'

Nachdem 

  • Löschen Sie den .gradle-Ordner innerhalb Ihres Projekts (Um .gradle anzuzeigen, müssen Sie im Navigator oben links in die Ansicht "Projekt" wechseln.)
  • Löschen Sie alle build-Ordner und den Gradle-Cache. 
  • Drücken Sie im Menü Erstellen die Taste Projekt reinigen.
  • Drücken Sie nach Abschluss der Aufgabe die Schaltfläche Rebuild Project im Build-Menü.

Hoffe es wird helfen!

37
King of Masses
  1. Löschen Sie das Verzeichnis .gradle.

  2. Führen Sie Ihre App erneut aus.

Anmerkungen

  • Das Verzeichnis .gradle befindet sich im Stammordner Ihres Projekts. (Möglicherweise müssen Sie zuerst versteckte Dateien anzeigen.) 
  • Ich muss dies jedes Mal tun, wenn ich ein Abhängigkeitsmodul mit Android 3.0 aktualisiere. (Neuere Versionen von Android Studio 3 scheinen das Problem gelöst zu haben.)
25
Suragch

Das Löschen von .gradle, wie von Suragch vorgeschlagen, reichte mir nicht. Zusätzlich musste ich einen Build > Clean Project durchführen.

Beachten Sie, dass Sie zum Anzeigen von .gradle im Navigator oben links in die Ansicht "Projekt" wechseln müssen:

 Switch to project view

22
Michel Jung

Ich habe jede andere Lösung ausprobiert, aber niemand hat für mich gearbeitet. Am Ende habe ich es gelöst, indem ich dieselbe Abhängigkeitsversion verwendet habe, indem ich build.gradle editierte. Ich denke, dieses Problem tritt auf, wenn eine Bibliothek in Gradle hinzugefügt wird, die eine andere Abhängigkeitsversion der Unterstützung oder Google-Bibliotheken verwendet. 

Fügen Sie der Build-Gradle-Datei den folgenden Code hinzu. Dann clean und rebuild Projekt.

ps: Das war eine alte Lösung für mich, also sollte man die aktualisierte Version von .__ verwenden. folgenden Bibliotheken.

configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == 'com.Android.support') {
        if (!requested.name.startsWith("multidex")) {
            details.useVersion '26.1.0'
        }
    } else if (requested.group == "com.google.Android.gms") {
        details.useVersion '11.8.0'
        } else if (requested.group == "com.google.firebase") {
            details.useVersion '11.8.0'
          }
      }
}
20
Ali Gürelli

In meinem Fall lag das Problem an der Raumbibliothek:

compile 'Android.Arch.persistence.room:runtime:1.0.0-alpha1'

Ändern Sie es in:

compile 'Android.Arch.persistence.room:runtime:1.0.0'

hat funktioniert.

13
Shashi

Hallo ich habe gleich alles probiert. Also entschied ich mich schließlich nach 6 Stunden langem Kampf, indem ich alles Zeile für Zeile debuggen musste.

classpath 'com.google.gms:google-services:3.0.0'

Google-services 3.0 Unterstützt keine Firebase mit Studio 3.0 mit playServiceVersion: 11.6.0 oder weniger. 

implementation "com.google.firebase:firebase-messaging:$rootProject.ext.playServiceVersion"
implementation "com.google.firebase:firebase-core:$rootProject.ext.playServiceVersion"
implementation "com.firebase:firebase-jobdispatcher-with-gcm-dep:$rootProject.ext.jobdispatcherVersion"

Lösung:  

Ich habegoogle-Dienstein geändert 

classpath 'com.google.gms:google-services:3.1.1'

Und es unterstützt Firebase-Dienste. 

Hoffentlich rettet jemand seine Zeit.

11
Saveen Dhiman

Einfach zu den obigen Lösungen hinzufügen:

Stellen Sie sicher, dass Sie keine doppelten Abhängigkeiten haben, die auf verschiedene Versionen (__..) An mehreren Stellen (oder sogar in derselben Datei) verweisen.

10

wenn (1. Versuch, Arbeit zu reinigen und wieder aufzubauen), dann gut

sonst wenn (2. Versuchen Sie, gradle Arbeit zu entfernen) dann gut 

else-> 3. Versuchen Sie, grade.properties hinzuzufügen

Android.enableD8 = false

else-> 4. Fügen Sie multiDexEnabled true zu Ihrem build.gradle hinzu 

Android {
    compileSdkVersion 26
    defaultConfig {
      ...
        minSdkVersion 15
        targetSdkVersion 26
        multiDexEnabled true
     ...
    }
}

und fügen Sie die Abhängigkeit hinzu

dependencies {
    compile 'com.Android.support:multidex:1.0.1'}

Möglicherweise funktioniert das erste für Sie und so weiter, aber es hängt zum Beispiel wirklich von der Art Ihres Problems ab

Ich habe die Fehlermeldung erhalten, sobald ich diese Bibliothek hinzugefügt habe

implementation 'com.jjoe64:graphview:4.2.2'

und später entdeckte ich, dass ich das überprüfen muss, und ich muss dieselbe Version der Support-Bibliotheken hinzufügen. Also muss ich eine andere Version ausprobieren

compile 'com.jjoe64:graphview:4.2.1'

und es behebt das Problem. Also pass auf das auf.

10
DINA TAKLIT
  1. Aktivieren

    defaultConfig { multiDexEnabled true }

  2. Wenn Schritt 1 dann nicht funktioniert

    Gehen Sie zur Projektstruktur und finden Sie heraus, welche externe Bibliothek eine -Version verwendet. Doppelklicken Sie darauf und löschen Sie die JAR-Datei. Schließen Sie das Projekt und öffnen Sie es erneut. Android Studio baut das Projekt neu auf .. Das Problem sollte behoben sein.

9
Abhisek Mallick

Eine der Möglichkeiten ist: Vorhandensein derselben Bibliothek, jedoch mit unterschiedlichen Versionen in den Abhängigkeiten.

Ich hatte dieses Problem mit den folgenden Zeilen in der gradle-Datei:

  • compile fileTree(include: ['*.jar'], dir: 'libs')
  • compile 'com.google.code.gson:gson:2.8.2'

Die gson-Bibliothek befand sich in meinem libs-Verzeichnis, jedoch mit einer früheren Version. Ich habe den gson-2.3.1.jar Aus dem libs-Verzeichnis gelöscht und alles ist wieder normal.

5
Philippe Grain

[UNVERBINDLICHE DURCHSETZUNG VON DEX DURCHGEFÜHRT] Nach Stunden des Stapels überläuft

  1. Aktualisieren Sie alle com.Android.support-Zeilen in Gradle auf v27.1.0

Ursache - Android hat die Unterstützungsbibliotheken auf Version 27.1.0 aktualisiert. Daher müssen Sie alle Android-Unterstützungszeilen in Ihrer Gradle-Datei von 26.1.0 auf 27.1.0 ändern

  1. Stellen Sie sicher, dass der Repository-Abschnitt einen Maven-Abschnitt mit dem Endpunkt " https://maven.google.com " enthält. Zum Beispiel:

    alle Projekte { Repositorys { jcenter () Maven { URL " https://maven.google.com " } } }

Ursache: - Android kann die Unterstützungsbibliotheken im SDK-Manager nicht aktualisieren. Jetzt wird maven.google.com zum Aktualisieren verwendet. Sie müssen diese Option hinzufügen, um 27.1.0-Unterstützungsbibliotheken verwenden zu können

Nach Änderungsversion: 1. Reinigen Sie das Projekt 2. Projekt neu erstellen

5
Taha Ali

Wenn dieser Fehler nach dem Einfügen der Kotlin-Unterstützung für Sie aufgetreten ist und keine der anderen Lösungen funktioniert, ändern Sie die Kotlin-Abhängigkeit von build.gradle des App-Moduls in

implementation ("org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version") {
    exclude group: 'org.jetbrains', module: 'annotations'
}

Dies funktioniert für mich unter Android Studio 3.0 Beta 6. Siehe this answer für weitere Erklärung.

5
aksh1618

Installieren von Google Play-Diensten (neueste Version) + einschließlich 

Android {
    defaultConfig {
        multiDexEnabled true
        }
}

in build.gradle hat das Problem für mich gelöst, stellen Sie sicher, dass Sie das Projekt reinigen und neu erstellen!

4
Harmandeep Gill

füge unten Befehle hinzu:

Android {
...

    dexOptions {

        jumboMode true
        javaMaxHeapSize "4g"

    }
}
4
zyc zyc

Mit Android Studio 3.0 stabiler Build Folgende Schritte funktionierten für mich:

  1. Gehen Sie zu SdkManager -> Android Sdk -> Sdk Tools und aktualisieren Sie die Google Play-Dienste auf die neueste Version 46.
  2. Projekt bereinigen und Projekt neu erstellen.
4
Pulkeet Katiyar

Ich stimme mit Chris-Jr. Wenn Sie Firebase verwenden, um Ihre AdMob-Anzeigen einzubetten (oder auch wenn Sie es nicht sind), enthält die play-services-analytics die play-services-ads, auch wenn Sie dies nicht als Abhängigkeit hinzufügen. Google hat offensichtlich einen Fehler in seinem 11.4.0-Roll-out begangen, da in der Analyse Version 10.0.1 der Anzeigen und nicht 11.4.0 enthalten ist (der Mauszeiger-Hinweis in Gradle zeigt dies).

Ich habe compile 'com.google.Android.gms: play-services-ads: 11.4.0' am Anfang manuell hinzugefügt, was funktioniert hat, aber erst nachdem ich Instant Run deaktiviert hatte: http: // stackoverflow.com/a/35169716/530047

Also entweder auf 10.0.1 zurückgreifen oder die Anzeigen hinzufügen und Instant Run deaktivieren Das habe ich herausgefunden, wenn es irgendetwas hilft.

3
Jonathan

Ich hatte auch das Problem.

Ich konnte das Problem lösen, indem ich compileSdkVersion und targetSdkVersion auf die neueste Version umstellte. 

2
akhil as

Ich bin auf das gleiche Problem gestoßen und habe den eigentlichen Grund für meinen Fall gefunden. Vorher habe ich auch alle vorherigen Antworten erneut versucht, aber das Problem wurde nicht gelöst. Ich habe zwei Module in meinem Wear-App-Projekt das build.gradle wie folgt:

build.gradle des Verschleißmoduls:

implementation project(':common')
implementation files('libs/farmer-motion-1.0.jar')

build.gradle des allgemeinen Moduls:

implementation files('libs/farmer-motion-1.0.jar')

Vor dem Upgrade auf Gradle 3.x ist "Implementierung" alles "Kompilieren".

Ich führe gradlew mit der Option --stacktrace aus, um die Stapelablaufverfolgung zu erhalten. Sie können dies einfach im Gradle Console-Fenster anklicken, wenn dieses Problem auftritt. Und stellte fest, dass die Abhängigkeit zum jar-Paket wiederholt wurde:

Caused by: com.Android.dex.DexException: Multiple dex files define Lcom/farmer/motion/common/data/pojo/SportSummary$2;

Class SportSummary im farmer-motion-1.0.jar-Paket, nachdem ich den offiziellen Migrationsleitfaden gelesen hatte, änderte ich mein build.gradle folgendermaßen:

build.gradle des Verschleißmoduls:

implementation project(':common')
// delete dependency implementation files('libs/farmer-motion-1.0.jar')

allgemeines modul 的 build.gradle:

api files('libs/farmer-motion-1.0.jar') // change implementation to api

Das Verschleißmodul hat nun die Abhängigkeit des Farmer-motion-1.0.jar-Exports durch das gemeinsame Modul. Wenn während der Laufzeit keine Abhängigkeit vom JAR-Paket hat [], kann die 'Implementation' - Abhängigkeit des JAR-Pakets auch in 'compileOnly' geändert werden.

2
FarmerLi

In meinem Fall war es gson-2.8.1.jar, den ich zum Ordner libs des Projekts hinzugefügt habe. Die Referenz war jedoch bereits von SDK vorhanden .. _. Daher war es nicht erforderlich, gson-2.8.1.jar zum libs-Ordner hinzuzufügen.

Wenn ich nimm es aus dem gson-2.8.1.jar heraus Projekt kompiliert, ohne diesen Fehler.

Versuchen Sie daher, libs Ordner und Abhängigkeiten zu überarbeiten.

Für unser Projekt haben wir aus Versehen zweimal dasselbe Glas mit einem anderen Namen hinzugefügt. Durch das Entfernen eines von ihnen wurde das Problem behoben. 

2
Ifta

Ich finde den Grund dieses Problems für mein Projekt heraus.Ich wurde zweimal in build.gradleeine Abhängigkeit hinzugefügt. Einmal durch Hinzufügen von Abhängigkeiten und noch einmal durch Hinzufügen von Jar-Abhängigkeiten:

kompiliere 'org.achartengine: achartengine: 1.2.0'
...
Implementierungsdateien ('../ achartengine-1.2.0.jar')

nach dem Entfernen der ersten Zeile Problem gelöst.

1
Mansour

Falls die wichtigsten Antworten nicht für Sie geeignet waren, besteht Ihr Problem möglicherweise darin, dass Sie mehrere Abhängigkeiten haben, die von derselben Bibliothek abhängen. 

Hier sind einige Tipps zum Debuggen. In diesem Beispielcode ist com.google.code.findbugs:jsr305:3.0.0 die fehlerhafte Bibliothek.

Reinigen Sie jedes Mal, wenn Sie Änderungen vornehmen, um Ihre Lösung zu überprüfen! 

  1. Erstellen Sie das Flag --stacktrace, um weitere Informationen zu erhalten. Es wird sich über eine Klasse beschweren, Google die Klasse zu finden, um die Bibliothek zu finden. So können Sie Android Studio so einrichten, dass Gradle immer mit der --stacktrace-Markierung ausgeführt wird.

  2. Werfen Sie einen Blick auf die Gradle-Konsole in Android Studio View > Tool Windows > Gradle Console nach einem Build

  3. Überprüfen Sie auf wiederholte Abhängigkeiten, indem Sie ./gradlew -q app:dependencies ausführen. Sie können dies jedes Mal erneut ausführen, wenn Sie Ihr build.gradle ändern.

  4. In build.gradle

    Android {
            ...
            configurations.all {
                resolutionStrategy {
                    // Force a particular version of the library 
                    // across all dependencies that have that dependency
                    force 'com.google.code.findbugs:jsr305:3.0.0'
                }
            }
    }
    
  5. In build.gradle

    dependencies {
        ...
        implementation('com.google.auth:google-auth-library-oauth2-http:0.6.0') {
            // Exclude the library for this particular import
            exclude group: 'com.google.code.findbugs'
        }
    }
    
  6. In build.gradle

    Android {
        ...
        configurations.all {
            resolutionStrategy {
                // Completely exclude the library. Works for transitive
                // dependencies.
                exclude group: 'com.google.code.findbugs'
            }
        }
    }
    
  7. Wenn sich einige Ihrer Abhängigkeiten in JAR-Dateien befinden, öffnen Sie die JAR-Dateien und prüfen Sie, ob in Konflikt stehende Klassennamen vorhanden sind. Wenn dies der Fall ist, müssen Sie die Gläser wahrscheinlich mit neuen Klassennamen neu erstellen oder in shading nachsehen. 

Einige weitere Hintergrundlesungen:

1
J Wang

Dies ist möglicherweise nicht Ihr Problem, aber ich habe diesen Fehler erhalten, als ich versehentlich zwei identische (aber anders benannte) Bibliotheken in den Dependencies {} - Abschnitt des Projekts aufgenommen habe.

1
DontPanic

In meinem Fall macht eine Bibliothek dieses Problem, die Bibliothek wurde erfolgreich zum Projekt hinzugefügt, aber wenn ich meine App starte, wird mir dieser Fehler angezeigt. Wenn dies auch bei Ihnen der Fall ist, können Sie zu github gehen und Probleme prüfen oder ein neues Problem aufwerfen. Wenn Sie bezüglich der Bibliothek keine Lösung finden, empfehle ich Ihnen, sie zu ersetzen.

1
Suraj Vaishnav

Für mich wurde das Firebase-Messaging in app\build.gradle aktualisiert:

compile 'com.google.firebase:firebase-messaging:10.0.1'

zu

compile 'com.google.firebase:firebase-messaging:11.4.2'
1
milamber

Ich hatte das gleiche problem Ich habe gerade Instant Run aktiviert (es war deaktiviert) und dann hat mein Projekt funktioniert. Sie finden es in

File->Settings-> Build,Execution,Deployment->Instant Run
1
Android {
    defaultConfig {
        ...
        minSdkVersion 15 
        targetSdkVersion 26
        multiDexEnabled true
    }
    ...
}

dependencies {
  compile 'com.Android.support:multidex:1.0.1'
}

Eine der möglichen Ursachen: Duplizieren Sie transiente Abhängigkeiten, die beim Import von Multimodulprojekten durch Android Studio nicht ordnungsgemäß behandelt wurden. Überprüfen Sie Ihre Liste und entfernen Sie sie. Für mich war das Update buchstäblich Folgendes:

--- a/project/module/build.gradle
+++ b/project/module/build.gradle
@@ -21,5 +21,4 @@ Android {
 dependencies {
     implementation project(':upstream-dependency-project')
     implementation 'com.Android.support:support-v4:18.0.0'
-    implementation files('libs/slf4j-Android-1.6.1-RC1.jar')
 }
1
vt.

versuchen Sie es so, es funktioniert für mich.

In app/build.gradle:

dependencies {
    ....

    compile project(':grow-notification')

    /** Firebase Start **/
    compile 'com.google.firebase:firebase-messaging:11.4.0'
    compile 'com.firebase:firebase-jobdispatcher:0.6.0'
    /** Firebase End **/
}

apply plugin: 'com.google.gms.google-services'

im Modul grow-notification/build.gradle:

dependencies {
    ....

    /** Firebase Start **/
    provided 'com.google.firebase:firebase-messaging:11.4.0'
    provided 'com.firebase:firebase-jobdispatcher:0.6.0'
    /** Firebase End **/
}
0
ibrothergang

Stellen Sie sicher, dass alle Quellbibliotheken dieselbe Versionsnummer haben. In meinem Fall habe ich verschiedene Google API-Versionen verwendet. Ich habe 11.6.0 für alle Google-Bibliotheken verwendet, aber 10.4.0 für Google Place API. Nach dem Update von google place api auf 11.6.0 , wurde das Problem behoben. 

Bitte beachten Sie, dass mein Multidex auch für das Projekt aktiviert ist.

0
asish

Ich habe mehr als 3 Stunden damit verbracht, alle Antworten zu lesen und zu testen ... Endlich war das Problem die Bibliothek "joda time",

Lesen von diese Antwort Ich habe das Problem gefunden, die Gradle Console mit vollem Stack-Trace ausführen und die Fehlerdetails lesen.

0
Pablo Cegarra

Fügen Sie einfach unten in build.gradle hinzu,

defaultConfig {multiDexEnabled true}

0
abhi.nalwade

Wenn Sie Firebsae in Ihrem Plugin verwenden, wird dieses Problem durch ein Versionsproblem der Play-Services verursacht. `Cordov

cordova.system.library.4=com.google.gms:google-services:3.3.0
    cordova.system.library.5=com.google.Android.gms:play-services-tagmanager:+
    cordova.system.library.6=com.google.firebase:firebase-core:16.0.1
    cordova.system.library.7=com.google.firebase:firebase-messaging:17.1.0
    cordova.system.library.8=com.google.firebase:firebase-crash:16.0.1
    cordova.system.library.9=com.google.firebase:firebase-config:16.0.0
    cordova.system.library.10=com.google.firebase:firebase-perf:16.0.0 

Ändern Sie Ihre project.properties auf diese Weise, dann wird dieses Problem gelöst Referenz

0
Ramesh Krishnan

Möglicherweise gibt es eine doppelte Abhängigkeit (möglicherweise in einer anderen Abhängigkeit verschachtelt). Verwenden Sie "gradlew app: dependencies" in der Befehlszeile, um alle Ihre Abhängigkeiten zu überprüfen.

Nach dem Entfernen von Duplikaten wurde das Problem für mich gelöst.

0
Jacob Lewis
    Android {
        defaultConfig {
            multiDexEnabled true
            }
    }

   compile 'com.google.Android.gms:play-services:11.0.4'

   compile 'com.google.Android.gms:play-services-location:11.0.4'

sauber bauen und neu erstellen

0
Keshav Gera

Dies wurde hier noch nicht geteilt, so dass es hoffentlich jemandem helfen kann.

Im Anschluss daran Link löste das gleiche Problem für mich.

Zu Beginn stelle ich fest, dass ich multiDexEnabled nicht auf true setzen musste.

Zuerst setze ich Abhängigkeiten in meiner pubspec.yaml auf

dependencies:
  flutter:
    sdk: flutter
  cloud_firestore: ^0.8.2 

und lief flutter packages get in meinem IDE-Terminal.

Außerdem musste ich die minimale Ziel-SDK-Version ändern:

  1. Öffnen Sie Android/app/build.gradle und suchen Sie die Zeile mit der Bezeichnung minSdkVersion 16.
  2. Ändern Sie diese Zeile in minSdkVersion 21.
  3. Speicher die Datei.

Dies allein kann Ihr Problem beheben. Ich musste jedoch auch Folgendes tun, da einige meiner Abhängigkeitsversionen nicht übereinstimmten.

Ich musste Android/app/build.gradle öffnen und dann die folgende Zeile als letzte Zeile in die Datei einfügen: apply plugin: 'com.google.gms.google-services'

Als nächstes musste ich Android/build.gradle öffnen und dann innerhalb des Buildscript-Tags eine neue Abhängigkeit hinzufügen:

buildscript {
   repositories {
       // ...
   }

   dependencies {
       // ...
       classpath 'com.google.gms:google-services:3.2.1'   // new
   }
}

Danach lief meine App endlich auf dem Android Emulator.

Die Link hat eine vollständigere Anleitung, wenn Sie nicht weiterkommen.

Außerdem musste ich multiDexEnabled nicht auf true setzen.

0
Casey Schneider

fügen Sie dies in Ihre App/build.gradle . Es wird klappen

Implementierung 'com.Android.support:design:27.1.0'

0
kaushal

Überprüfen Sie die Version der Abhängigkeiten, wenn sie nicht gleich sind, und machen Sie sie gleich, um das Problem zu lösen

compile 'com.Android.support:appcompat-v7:27.0.2'
compile 'com.Android.support:recyclerview-v7:27.0.2'
compile 'com.Android.support:cardview-v7:27.0.2'
0
Nikul Vadher

Nach dem Upgrade einiger Abhängigkeiten fand ich Lösungen. Wir sollten die neueste Spieldienstversion verwenden. In build.gradle [app] Abhängigkeit.

compile 'com.Android.support:multidex:1.0.2'
compile 'com.google.Android.gms:play-services:11.8.0'
compile 'com.google.firebase:firebase-core:11.8.0'

In build.gradle [project] sollten wir das neueste Google-Plug-In verwenden.

classpath 'com.google.gms:google-services:3.1.1'

Ich teile auch den Code zum besseren Verständnis.

    Android {
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
    defaultConfig {
        applicationId "com.***.user"
        minSdkVersion 17
        targetSdkVersion 26
        versionCode 26
        versionName "1.0.20"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
        vectorDrawables.useSupportLibrary = true

        aaptOptions {
            cruncherEnabled = false
        }

    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}
0
Md Shihab Uddin

Leider haben weder Michels noch Suragchs Lösungen für mich funktioniert. 

Was ich schließlich tun musste, war einfach, meinen com.google.firebase:firebase-database auf Version 10.0.1 zurückzusetzen, da 11.4.0 eine Warnung bezüglich Abhängigkeitsinkonsistenz in meiner App-Gradle-Datei verursachte.

0
Chris - Jr

Für mich war das Problem, dass zwei der Gläser, die ich in das Projekt aufgenommen hatte, dieselben Klassen hatten.

Für 1 dieser Gläser musste ich die Klassen ausschließen:

jar {
    exclude('com/files/to/exclude/**')
}
0

Einfache Lösung hat für mich funktioniert:

  1. Kompilieren/Implementieren Sie nicht zwei Versionen derselben Abhängigkeiten. 
  2. Verwenden Sie keine JAR-Datei im Ordner libs Ihres Projekts, wenn Sie sie direkt von Gradle kompilieren. Vorstehender Punkt gilt auch hier.

Dann Clean und Rebuild Projekt.

0
global_warming

In meinem Fall importierte der Fehler die Abhängigkeit:

Implementation 'com.firebaseui: firebase-ui: 2.3.0'

und ich benutzte es nicht, es fing an zu arbeiten, als ich es löschte, das Projekt sauber machte und erneut dekompliziert. Natürlich habe ich auch das gemacht, was die Leute oben gemacht haben.

  • Änderung der Implementierung in der gesamten App.grade
  • Ändern Sie testcomplie in testimplementation während des gesamten app.grade
  • Stellen Sie sicher, dass ich die Multidexenabled-Funktion aktiviert habe
  • Aktualisieren Sie compileSdk auf 26
  • Gelöschte .gradle-Datei (in Projekt gefunden), Projekt bereinigen und neu kompilieren

und schlussendlich...

  • Gelöscht Implementierung 'com.firebaseui: firebase-ui: 2.3.0' (Da ich es nicht in meinem Code verwendet habe)
0
Jmz

Ändern Sie Ihre buildToolsVersion in eine andere Version und synchronisieren Sie sie, ändern Sie sie zurück und synchronisieren Sie erneut. Es wird wieder funktionieren.

0
Rodrigo Salomao

Ich hatte das gleiche Problem. Ich habe das Problem gelöst, indem ich eine Bereinigung durchgeführt und dann das Projekt aus dem Android Studio 3.0-Menü erstellt habe:

  1. bauen -> sauberes Projekt
  2. build-> Projekt neu erstellen
0
user8961793

In meinem Fall bestand das Problem darin, dass ich dieselbe Bibliothek zweimal in meiner build.gradle-Datei implementierte. Das Entfernen des doppelten Eintrags hat für mich funktioniert. Und brauchte nicht einmal das Projekt zu reinigen, umzubauen.

0
Mithun Adhikari

In meinem Projekt habe ich mehr als zwei Module und sdks, ich probiere alle Vorschläge oder Antworten aus, die oben aufgeführt sind

  • add multiDexEnabled true in defaultConfig 
  • Projekt reinigen und neu erstellen
  • kompilieren durch Implementieren ersetzen
  • aktualisieren Sie alle Abhängigkeiten 

Alle arbeiten vorübergehend, aber wenn ich die Projektstruktur (cntrl + altr + shift + s) öffne, habe ich festgestellt, dass in meiner Projekteigenschaft nichts wie -.__ ausgewählt wird. - SDK-Version kompilieren, SDK-Version erstellen - In Geschmacksrichtungen gleich 

Ich aktualisiere all dies und führe ein sauberes und neu erstelltes Projekt durch, und es funktioniert für mich.

0
Virendra Varma

Das funktioniert für mich-

Fügen Sie endlich Code in den Plattformen\Android\build.gradle hinzu

configurations.all { 
 resolutionStrategy{
    force 'com.Android.support:support-v4:26.0.0'
    }

    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == 'com.Android.support') {
       if (!requested.name.startsWith("multidex")) {
      details.useVersion '26.0.0'
     }
   }
  }
}
0
Aditya Kumar

In meinem Fall importiere ich eine "Android_support" -Bibliothek zweimal, so dass ich eine unter "Libs" -Verzeichnis lösche und neu aufbaut.

0
fredzzt

In den meisten Fällen funktioniert das .. Es funktioniert für mich

Schritt 1: Fügen Sie in build.gradle (Modul: app) Folgendes hinzu: defaultConfig { multiDexEnabled true }

Schritt 2: tun Sie dies: Build => Clean Project

Schritt 3: Führen Sie folgende Schritte aus: Erstellen => Projekt neu erstellen

0
vivek yadav
    apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.xyz.name"
        minSdkVersion 14
        targetSdkVersion 27
        versionCode 7
        versionName "1.6"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

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:runner:1.0.1'
    androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
    implementation 'com.Android.volley:volley:1.0.0'
    implementation 'com.wang.avi:library:2.1.3'
    implementation 'com.Android.support:design:27.1.0'
    implementation 'com.Android.support:support-v4:27.1.0'
    implementation 'de.hdodenhof:circleimageview:2.1.0'
    implementation 'com.github.bumptech.glide:glide:3.7.0'
    implementation 'com.theartofdev.edmodo:Android-image-cropper:2.6.0'
    implementation 'com.loopj.Android:android-async-http:1.4.9'
    implementation 'com.google.firebase:firebase-messaging:11.8.0'
    implementation 'com.felipecsl.asymmetricgridview:library:2.0.1'
    implementation 'com.Android.support:recyclerview-v7:27.1.0'
    implementation 'com.github.darsh2:MultipleImageSelect:3474549'
    implementation 'it.sephiroth.Android.library.horizontallistview:hlistview:1.2.2'
    implementation 'com.Android.support:multidex:1.0.1'
}

apply plugin: 'com.google.gms.google-services'

Hinweis: Aktualisieren Sie Ihre gesamte Support-Bibliothek wie oben beschrieben auf 27.1.0, und entfernen Sie Duplikate

0
Ashwin H

Es ist ein häufiges Problem, wenn Sie zwei Versionen derselben Bibliothek hinzugefügt haben. Entweder in der Abhängigkeit oder in der Bibliothek. 

0
Shubham Soni

Keine der oben genannten Lösungen funktionierte für mich: multiDex aktivieren, bereinigen, neu erstellen, .gradle-Datei löschen. Das letzte, was ich tat, war, ein brandneues Projekt zu erstellen, das Verzeichnis src zu löschen und durch das vorherige zu ersetzen . Kopieren Sie alle Bibliotheken, die Sie benötigen, um build.gradle (app) zu erstellen, zu synchronisieren und es sollte fehlerfrei erstellt werden.

0
Bryan Ibrahim

Prüfen Sie, ob Sie debugCompile und releaseCompile in build.gradle haben. Ändern Sie es in debugImplementation und releaseImplementation. So habe ich es gelöst, gradle sollte diese erfolgreich gekennzeichneten Anweisungen als veraltet durchlaufen lassen, aber plötzlich blieb es genau auf diesen beiden hängen.

0
Dmytro Nasyrov
./gradlew :app:assembleStubLiveDebug -debug -stacktrace

Oder ähnlich (den Aufgabennamen (:app:assembleStubLiveDebug) von Android Studio erhalten).

0
Alex E