web-dev-qa-db-fra.com

Impossible de fusionner dex

J'ai Android Studio Beta. J'ai créé un nouveau projet avec la compilation de mes anciens modules, mais lorsque j'ai essayé de lancer l'application, celle-ci ne s'est pas lancée avec le message suivant:

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

com.Android.builder.dexing.DexArchiveMergerException: impossible de fusionner dex

Mais je ne sais pas comment résoudre cette erreur. J'ai fait des recherches sur Google pendant des heures mais sans succès. 

Mon projet gradé:

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

Mon niveau d'application:

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


}

Et mon diplôme de module: 

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

}

Mon deuxième module:

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

____________découverte_________

Lorsque je n'ai pas importé le deuxième module (analyseur), l'application ne s'est pas bloquée sous Dex, mais lorsque le module n'a pas été importé, l'application n'a pas fonctionné. : D: D 

262
Parad0X

J'ai eu le même problème quand je mets à jour de com.google.Android.gms:play-services:11.2.2 à com.google.Android.gms:play-services:11.4.0. Cela a résolu le problème pour moi:

  1. nettoyer
  2. reconstruire
270
Zohidjon Akbarov

J'ai essayé tout ce qui précède et aucun d'entre eux ne m'aide, enfin, je trouve ce travail pour moi:

app/build.gradle:

Android {
    defaultConfig {
       multiDexEnabled true
    }
}
248
itzhar

Faites attention aux avertissements!

Parfois, il suffit d'éliminer warnings et le error disparaîtra automatiquement. Voir ci-dessous cas particulier:


J'ai eu ces deux dépendances dans mon fichier build.gradle au niveau du module:

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

et Studio avait averti (en plus du problème de fusion dex):

Toutes les bibliothèques com.Android.support doivent utiliser exactement la même spécification de version (le mélange de versions peut entraîner des pannes à l'exécution). Versions trouvées 27.0.2, 21.0.3. Les exemples incluent com.Android.support:animated-vector-drawable:27.0.2 et com.Android.support:support-v4:21.0.3

J'ai donc explicitement déterminé la version de com.Android.support:support-v4 (voir ici pour plus de détails) et les deux problèmes (l'avertissement et celui relatif à la fusion dex) résolu:

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'

_ {Voir les commentaires ci-dessous pour d'autres situations similaires.

54
Mir-Ismaili

Dans mon cas, malheureusement, ni les solutions de Michel ni celles de Suragch ne fonctionnaient pour moi.

J'ai donc résolu ce problème en procédant comme suit:

Dans gradle: 3.0, la configuration de compile est maintenant obsolète et doit être remplacée par implementation ou api. Pour plus d'informations, vous pouvez lire ici Vous pouvez lire la documentation officielle sur Gradle Build Tool

La configuration de compilation existe toujours mais ne doit pas être utilisée car elle n'offrira pas les garanties que l'API et l'implémentation configurations fournissent.

il vaut mieux utiliser implementation ou api plutôt compiler 

il suffit de remplacer compile par implementation, debugCompile par debugImplementation, testCompile par testImplementation et androidtestcompile par androidTestImplementation

Par exemple: au lieu de cela 

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'

utiliser comme ça 

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'

Après ça 

  • Supprimez le dossier .gradle de votre projet (notez que, pour voir .gradle, vous devez passer à la vue "Projet" dans le navigateur situé en haut à gauche).
  • Supprimez tous les dossiers build et le cache de niveaux. 
  • Dans le menu Build, appuyez sur le bouton Clean Project.
  • Une fois la tâche terminée, appuyez sur le bouton Rebuild Project dans le menu Générer.

J'espère que ça va aider!

37
King of Masses
  1. Supprimez le répertoire .gradle.

  2. Exécutez votre application à nouveau.

Remarques

  • Le répertoire .gradle se trouve dans le dossier racine de votre projet. (Vous devrez peut-être d'abord afficher les fichiers cachés.) 
  • Je dois le faire chaque fois que je mets à jour un module de dépendance avec Android 3.0. (Des versions plus récentes d'Android Studio 3 semblent avoir résolu le problème.)
25
Suragch

Supprimer .gradle comme suggéré par Suragch ne me suffisait pas. De plus, je devais effectuer un Build > Clean Project.

Notez que pour voir .gradle, vous devez passer à la vue "Projet" dans le navigateur en haut à gauche:

 Switch to project view

22
Michel Jung

J'ai essayé toutes les autres solutions, mais personne n'a travaillé pour moi. À la fin, je l'ai résolu en utilisant la même version de dépendance en éditant build.gradle. Je pense que ce problème se produit lors de l'ajout d'une bibliothèque à Gradle qui utilise une version de dépendance différente du support ou des bibliothèques Google. 

Ajoutez le code suivant à votre fichier de génération. Puis clean et rebuild project.

ps: c’était une vieille solution pour moi, vous devriez donc utiliser la version mise à jour de bibliothèques suivantes.

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

Dans mon cas, le problème était dû à la bibliothèque de la pièce:

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

Le changer pour:

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

travaillé.

13
Shashi

Salut, j'ai le même problème essayé presque tout. Donc, finalement, je me suis résolu après 6 heures de lutte en déboguant tout, ligne par ligne.

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

Google-services 3.0 / Ne prend pas en charge Firebase avec Studio 3.0 avec playServiceVersion: 11.6.0 ou moins. 

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"

Solution :  

J'ai changégoogle servicesto 

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

Et il supporte les services firebase. 

Espérons que quelqu'un gagne son temps.

11
Saveen Dhiman

Juste pour ajouter aux solutions ci-dessus:

Assurez-vous de ne pas avoir de dépendances en double pointant vers Différentes versions, à plusieurs endroits (ou même dans le même fichier).

10
android developer

if (1. Essayez de nettoyer et de reconstruire le travail) alors bon

sinon si (2. Essayez de supprimer le travail de classement) alors bon 

else-> 3. Essayez d'ajouter grade.properties

Android.enableD8 = false

else-> 4. Ajoutez multiDexEnabled true à votre build.gradle 

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

et ajouter la dépendance

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

Il se peut que le premier fonctionne pour vous et ainsi de suite, mais cela dépend vraiment de la nature de votre problème pour moi par exemple

J'ai eu l'erreur une fois que j'ai ajouté cette bibliothèque

implementation 'com.jjoe64:graphview:4.2.2'

et plus tard, j'ai découvert que je devais vérifier cela et que je devais ajouter la même version des bibliothèques de support. Je dois donc essayer une autre version

compile 'com.jjoe64:graphview:4.2.1'

et cela corrige le problème. Alors faites attention à cela.

10
DINA TAKLIT
  1. Activer

    defaultConfig { multiDexEnabled true }

  2. Si l'étape 1 ne fonctionne pas, alors

    Accédez à la structure du projet et découvrez la bibliothèque externe qui utilise une version différente Double-cliquez dessus et supprimez son fichier jar. Fermez le projet et ouvrez à nouveau Android Studio reconstruira le projet . Le problème devrait disparaître.

9
Abhisek Mallick

[IMPOSSIBLE DE FUSIONNER DEX RESOLU] Après des heures de débordement de pile .__, j'ai résolu "ERREUR IMPOSSIBLE DE FUSIONNER DEX"

  1. Mettez à jour toutes les lignes com.Android.support de votre dégradé vers la version 27.1.0.

Cause - Android a mis à jour ses bibliothèques de support vers la v27.1.0, vous devez donc modifier toutes les lignes de support Android de votre fichier de gradle de 27.1.0 à 26.1.0.

  1. Assurez-vous que la section référentiels inclut une section maven avec le point de terminaison " https://maven.google.com ". Par exemple:

    allprojects { référentiels { jcenter () maven { url " https://maven.google.com " } } }

Cause: - Android ne peut pas mettre à jour les bibliothèques de support dans le gestionnaire de SDK et utilise maintenant maven.google.com pour la mise à jour. Vous devez donc l'inclure pour utiliser les bibliothèques de support 27.1.0.

Après changement de version: 1. Projet propre 2. Projet de reconstruction

5
Taha Ali

Si cette erreur s’est produite après l’ajout du support kotlin et qu’aucune des autres solutions ne fonctionne, essayez de modifier la dépendance à kotlin du build.gradle du module de l’application en:

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

Cela fonctionne pour moi sur Android Studio 3.0 Beta 6. Voir this answer pour plus d'explications.

5
aksh1618

Installation des services Google Play (dernière version) + y compris 

Android {
    defaultConfig {
        multiDexEnabled true
        }
}

dans build.gradle a résolu le problème pour moi, assurez-vous de nettoyer et de reconstruire le projet!

4
Harmandeep Gill

ajouter des commandes ci-dessous:

Android {
...

    dexOptions {

        jumboMode true
        javaMaxHeapSize "4g"

    }
}
4
zyc zyc

Avec la version stable d'Android Studio 3.0 Les étapes suivantes ont fonctionné pour moi:

  1. Aller à SdkManager -> Android Sdk -> Outils SDK et mettre à jour les services de Google Play à la dernière version à 46.
  2. Projet propre et projet de reconstruction.
4
Pulkeet Katiyar

Je suis d'accord avec Chris-Jr. Si vous utilisez Firebase pour intégrer vos annonces AdMob (ou même si vous ne l'êtes pas), play-services-analytics inclut les play-services-ads même si vous n'ajoutez pas cela en tant que dépendance. Il est évident que Google a commis une erreur lors de son déploiement dans la version 11.4.0, l'analyse intégrant la version 10.0.1 des annonces et non la version 11.4.0 (l'indicateur de souris situé dans le dégradé l'indique).

J'ai ajouté manuellement compile 'com.google.Android.gms: play-services-ads: 11.4.0' dans la partie supérieure, ce qui a fonctionné, mais uniquement après avoir désactivé Instant Run: http: //. stackoverflow.com/a/35169716/530047

C’est donc soit revenir à la version 10.0.1, soit ajouter les annonces et désactiver Instant Run . C’est ce que j’ai trouvé s’il en était utile.

3
Jonathan

J'ai aussi eu le problème.

J'ai été capable de résoudre en changeant compileSdkVersion et targetSdkVersion à la dernière version. 

2
akhil as

Dans mon cas c'était gson-2.8.1.jar que j'ai ajouté au dossier libs du projet. Mais la référence existait déjà dans le SDK . Il n’était donc pas nécessaire d’ajouter gson-2.8.1.jar au dossier libs.

Quand je l'ai sorti, le projet gson-2.8.1.jar / est compilé sans cette erreur.

Essayez donc de réviser libs folder et dependencies .

2

Pour notre projet, nous avons accidentellement ajouté le même bocal deux fois avec un nom différent. Enlever l'un d'entre eux a résolu le problème. 

2
Ifta

Je découvre la raison de ce problème pour mon projet.J'ai été ajouté une dépendance deux fois dans build.gradle. Une fois en ajoutant une dépendance et une fois en ajoutant une dépendance de jar:

compiler 'org.achartengine: achartengine: 1.2.0'
...
fichiers d'implémentation ('../ achartengine-1.2.0.jar')

après avoir résolu le problème de première ligne résolu.

1
Mansour

Si les réponses principales ne fonctionnent pas pour vous, votre problème peut être que vous avez plusieurs dépendances qui dépendent de la même bibliothèque. 

Voici quelques conseils de débogage. com.google.code.findbugs:jsr305:3.0.0 est la bibliothèque incriminée dans cet exemple de code.

Toujours nettoyer et reconstruire chaque fois que vous modifiez pour vérifier votre solution! 

  1. Construisez avec le drapeau --stacktrace activé pour plus de détails. Il va se plaindre d'une classe, Google cette classe pour trouver la bibliothèque. Voici comment vous pouvez configurer Android Studio pour qu'il exécute toujours gradle avec l'indicateur --stacktrace .

  2. Regardez la console Gradle dans Android Studio View > Tool Windows > Gradle Console après une construction

  3. Recherchez les dépendances répétées en exécutant ./gradlew -q app:dependencies. Vous pouvez le réexécuter chaque fois que vous modifiez le build.gradle.

  4. Dans 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. Dans 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. Dans build.gradle,

    Android {
        ...
        configurations.all {
            resolutionStrategy {
                // Completely exclude the library. Works for transitive
                // dependencies.
                exclude group: 'com.google.code.findbugs'
            }
        }
    }
    
  7. Si certaines de vos dépendances sont dans des fichiers JAR, ouvrez-les et vérifiez s'il existe des noms de classes en conflit. S'ils le sont, vous devrez probablement reconstruire les fichiers JAR avec les nouveaux noms de classe ou examiner shading

Quelques lectures de fond supplémentaires:

1
J Wang

Ce n'est peut-être pas votre problème, mais j'ai eu cette erreur lorsque j'ai accidentellement inclus deux bibliothèques identiques (mais nommées différemment) dans la section dependencies {} du projet.

1
DontPanic

Dans mon cas, une bibliothèque pose ce problème, la bibliothèque a été ajoutée avec succès au projet, mais lorsque je lance mon application, cette erreur s’affiche. Donc, si cela vous arrive aussi, vous pouvez aller sur github et vérifier les problèmes ou soulever de nouveaux problèmes. Si vous ne trouvez aucune solution concernant la bibliothèque, je vous suggère de la remplacer.

1
Suraj Vaishnav

Pour moi, il s’agissait de mettre à jour la messagerie firebase dans app\build.gradle:

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

à

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

J'ai eu le même problème. Je viens d'activer Instant Run (il était désactivé), puis mon projet a fonctionné. Vous pouvez le trouver dans

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

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

Une des causes fondamentales possibles: des dépendances transitoires en double qui n'ont pas été gérées correctement lors de l'importation de projets multi-modules par Android Studio. Vérifiez votre liste et supprimez-les. Pour moi, le correctif était littéralement ceci:

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

essayez comme ça, ça marche pour moi.

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

dans le module 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

Assurez-vous que toutes les bibliothèques source identiques ont le même numéro de version. Dans mon cas, j'utilisais différentes versions de Google Api. J'utilisais 11.6.0 pour toutes les bibliothèques google sauf 10.4.0 pour google place api. Après la mise à jour de google place api vers 11.6.0 , le problème a été résolu. 

Veuillez noter que mon multidex est également activé pour le projet.

0
asish

Je passe plus de 3 heures à lire et à tester toutes les réponses ..__ Enfin, le problème était la bibliothèque "joda time",

Lecture cette réponse J'ai trouvé le problème, lance la console Gradle avec une trace de pile complète et lis le détail de l'erreur.

0
Pablo Cegarra

Il suffit d'ajouter ci-dessous dans build.gradle,

defaultConfig {multiDexEnabled true}

0
abhi.nalwade

Si vous utilisez Firebsae dans votre plugin, ce problème viendra à cause d'un problème de version des services de lecture, essayez ceci `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 

Si vous changez votre projet.properties de cette façon, le problème sera résolu Référence

0
Ramesh Krishnan

Il peut y avoir une dépendance dupliquée (éventuellement imbriquée dans une autre dépendance). Utilisez "gradlew app: dependencies" dans la ligne de commande pour vérifier toutes vos dépendances.

Après avoir supprimé les doublons, le problème a été résolu pour moi.

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'

construire propre et construire Rebuild

0
Keshav Gera

Cela n'a pas encore été partagé, alors j'espère que cela pourra aider quelqu'un.

Suite à cela lien résolu le même problème pour moi.

Pour commencer, je noterai que je n'avais pas besoin de définir multiDexEnabled sur true.

Je mets d’abord les dépendances dans mon fichier pubspec.yaml sur

dependencies:
  flutter:
    sdk: flutter
  cloud_firestore: ^0.8.2 

et a lancé flutter packages get dans le terminal de mon IDE.

De plus, je devais changer la version minimale du SDK cible:

  1. Ouvrez Android/app/build.gradle, puis recherchez la ligne indiquant minSdkVersion 16.
  2. Modifiez cette ligne en minSdkVersion 21.
  3. Enregistrez le fichier.

Cela seul peut résoudre votre problème; Cependant, je devais également procéder comme suit, car certaines de mes versions de dépendance étaient incompatibles.

Je devais ouvrir Android/app/build.gradle, puis ajouter la ligne suivante comme dernière ligne du fichier: apply plugin: 'com.google.gms.google-services'

Ensuite, j'ai dû ouvrir Android/build.gradle, puis à l'intérieur de la balise buildscript, ajouter une nouvelle dépendance:

buildscript {
   repositories {
       // ...
   }

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

Après cela, mon application a finalement été exécutée sur l'émulateur Android.

Le lien a une procédure plus complète si vous êtes bloqué.

De plus, je n'ai pas eu à définir multiDexEnabled sur true.

0
Casey Schneider

ajoutez ceci dans votre app/build.gradle . Ça va marcher

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

0
kaushal

vérifie la version des dépendances si elles ne sont pas identiques, alors fais la même chose, cela résoudra ton problème

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

Après la mise à niveau de certaines dépendances, j'ai trouvé des solutions. Nous devrions utiliser la dernière version du service de jeu. Dans build.gradle [app] dependency.

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'

Dans build.gradle [projet] , nous devrions utiliser le dernier plug-in Google.

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

Je partage également le code ci-dessous pour une meilleure compréhension.

    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

Malheureusement, ni les solutions de Michel ni celles de Suragch n'ont fonctionné pour moi. 

Ce que je devais finalement faire était simplement de restaurer mon com.google.firebase:firebase-database vers la version 10.0.1, car la version 11.4.0 provoquait un avertissement d’incohérence dans la dépendance dans mon fichier de dégradé d’application.

0
Chris - Jr

Pour moi, le problème était que 2 des bocaux que j'ai inclus dans le projet contenaient les mêmes classes.

Pour l'un de ces pots, j'avais besoin d'exclure les classes:

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

Une solution simple a fonctionné pour moi:

  1. Ne pas compiler/implémenter deux versions des mêmes dépendances. 
  2. N'utilisez pas le fichier .jar dans le dossier libs de votre projet si vous le compilez directement à partir de gradle. Le point ci-dessus s'applique ici aussi.

Puis Nettoyer et Reconstruire projet.

0
global_warming

Dans mon cas, l'erreur importait la dépendance:

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

et je ne l'utilisais pas, il a commencé à fonctionner quand j'ai supprimé le projet nettoyé et remis en conformité. Bien sûr, j'ai également fait ce que les personnes ci-dessus ont fait, à savoir:

  • Modification de la conformité à la mise en œuvre dans l'ensemble de l'app.grade
  • Changement de test, conforme à témoignage dans l'ensemble de l'app.grade
  • Assurez-vous que j'ai multidexenabled true
  • Mettre à jour compileSdk à 26
  • Fichier .gradle supprimé (présent dans le projet), nettoyage du projet et recompilation

et enfin...

  • Supprimé implémentation 'com.firebaseui: firebase-ui: 2.3.0' (Je ne l'utilisais pas dans mon code)
0
Jmz

Remplacez buildToolsVersion par une autre version et synchronisez, réinstallez-le et synchronisez à nouveau. Cela fonctionnera encore.

0
Rodrigo Salomao

J'ai eu le même problème. Je l'ai résolu en effectuant un nettoyage puis en construisant le projet à partir du menu d'Android Studio 3.0:

  1. construire -> projet propre
  2. projet de reconstruction
0
user8961793

Dans mon cas, le problème était que j'ai implémenté la même bibliothèque deux fois dans mon fichier build.gradle. Supprimer la copie en double a fonctionné pour moi. Et n'a même pas eu besoin de nettoyer, reconstruire le projet.

0
Mithun Adhikari

Dans mon projet, j'ai plus de deux modules et sdks, j'essaie toutes les suggestions ou réponses énumérées ci-dessus comme

  • ajouter multiDexEnabled true dans defaultConfig 
  • Nettoyer et reconstruire le projet
  • remplacer compiler par implémenter
  • mettre à jour toutes les dépendances 

Tous ces travaux fonctionnent temporairement, mais lorsque j'ai ouvert la structure du projet (ctrl + altr + décalage + s), j'ai trouvé, dans ma propriété de projet, rien ne sera sélectionné comme - - compiler la version du SDK, construire la version de sdk - Dans les mêmes saveurs 

Je mets à jour tout cela et exécute le projet de nettoyage et de reconstruction et cela fonctionne pour moi.

0
Virendra Varma

Cela fonctionne pour moi-

Ajoutez enfin du code dans plates-formes\Android\build.gradle

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

Dans mon cas, j'importe deux fois une librairie 'Android_support', alors j'en supprime une dans le répertoire 'libs' et la reconstruit.

0
fredzzt

Dans la plupart des cas, cela fonctionne . Cela fonctionne pour moi . Bonne chance si cela fonctionne pour vous aussi.

Étape 1: Dans build.gradle (Module: app) Ajoutez ceci: defaultConfig { multiDexEnabled true }

Étape 2: faites ceci: Construire => Nettoyer le projet

Étape 3: faites ceci: Construire => Reconstruire le projet

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'

Remarque: mettez à jour votre bibliothèque de support à 27.1.0 comme ci-dessus et supprimez les doublons.

0
Ashwin H

C'est un problème courant lorsque vous avez ajouté deux versions de la même bibliothèque, que ce soit dans la dépendance ou dans la bibliothèque ... C'est mon cas et presque à chaque fois, cela résout le problème .. 

0
Shubham Soni

Aucune des solutions ci-dessus n'a fonctionné pour moi: activer multiDex, nettoyer, reconstruire, supprimer le fichier .gradle. Mon dernier geste a donc été de créer un nouveau projet, de supprimer le répertoire src et de le remplacer par le précédent. . Copiez toutes les bibliothèques dont vous avez besoin pour build.gradle (app), la synchronisation et il devrait se construire sans erreur.

0
Bryan Ibrahim

Vérifiez si vous avez debugCompile et releaseCompile dans build.gradle . Changez-le en debugImplementation et releaseImplementation. C’est ainsi que j’ai résolu le problème, Gradle devrait passer par ces instructions marquées avec succès comme étant déconseillées, mais tout à coup, il s’est retrouvé exactement sur ces deux points.

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

Ou similaire (obtenez le nom de la tâche (:app:assembleStubLiveDebug) dans Android Studio).

0
Alex E