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
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:
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
}
}
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ées27.0.2
,21.0.3
. Les exemples incluentcom.Android.support:animated-vector-drawable:27.0.2
etcom.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.
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
J'espère que ça va aider!
Supprimez le répertoire .gradle
.
Exécutez votre application à nouveau.
Remarques
.gradle
se trouve dans le dossier racine de votre projet. (Vous devrez peut-être d'abord afficher les fichiers cachés.) 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'
}
}
}
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é.
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.
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).
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.
Activer
defaultConfig { multiDexEnabled true }
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.
[IMPOSSIBLE DE FUSIONNER DEX RESOLU] Après des heures de débordement de pile .__, j'ai résolu "ERREUR IMPOSSIBLE DE FUSIONNER DEX"
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.
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
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.
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!
ajouter des commandes ci-dessous:
Android {
...
dexOptions {
jumboMode true
javaMaxHeapSize "4g"
}
}
Avec la version stable d'Android Studio 3.0 Les étapes suivantes ont fonctionné pour moi:
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.
J'ai aussi eu le problème.
J'ai été capable de résoudre en changeant compileSdkVersion
et targetSdkVersion
à la dernière version.
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 .
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.
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.
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!
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
.
Regardez la console Gradle dans Android Studio View > Tool Windows > Gradle Console
après une construction
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.
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'
}
}
}
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'
}
}
Dans build.gradle,
Android {
...
configurations.all {
resolutionStrategy {
// Completely exclude the library. Works for transitive
// dependencies.
exclude group: 'com.google.code.findbugs'
}
}
}
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:
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.
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.
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'
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
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')
}
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 **/
}
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.
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.
Il suffit d'ajouter ci-dessous dans build.gradle,
defaultConfig {multiDexEnabled true}
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
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.
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
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:
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.
ajoutez ceci dans votre app/build.gradle . Ça va marcher
implementation 'com.Android.support:design:27.1.0'
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'
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'
}
}
}
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.
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/**')
}
Une solution simple a fonctionné pour moi:
Puis Nettoyer et Reconstruire projet.
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:
et enfin...
Remplacez buildToolsVersion par une autre version et synchronisez, réinstallez-le et synchronisez à nouveau. Cela fonctionnera encore.
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:
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.
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
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.
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'
}
}
}
}
Dans mon cas, j'importe deux fois une librairie 'Android_support', alors j'en supprime une dans le répertoire 'libs' et la reconstruit.
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
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.
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 ..
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.
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.
./gradlew :app:assembleStubLiveDebug -debug -stacktrace
Ou similaire (obtenez le nom de la tâche (:app:assembleStubLiveDebug
) dans Android Studio).