J'ai essayé encore et encore de résoudre ce problème, mais aucune des solutions proposées dans les autres questions n'a fonctionné pour moi. Après avoir fusionné mon code avec celui de mes coéquipiers, je n'ai pas été en mesure d'exécuter mon application à cause de ce bug. J'ai nettoyé et reconstruit mon projet plusieurs fois, mais l'erreur continue de se produire :
Erreur : échec de l'exécution de la tâche ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'. java.lang.RuntimeException : java.lang.RuntimeException : com.Android.builder.dexing.DexArchiveMergerException : Impossible de fusionner dex
J'ai essayé de corriger les avertissements de Gradle, de mettre à jour les déclarations de la bibliothèque de compilation de Gradle et de mettre ce drapeau dans ma configuration par défaut :
multiDexEnabled true
Le seul correctif qui a produit quelque chose de différent était le drapeau ci-dessus, qui m'a permis de lancer l'application, mais une erreur d'exécution différente s'est produite :
E/AndroidRuntime : FATAL EXCEPTION : main Processus : com.example.aaronliang.flow_v1, PID : 11780 java.lang.RuntimeException : Unable to get provider >com.google.firebase.provider.FirebaseInitProvider : >java.lang.ClassNotFoundException : Didn't find class >"com.google.firebase.provider.FirebaseInitProvider" on path : DexPathList[[zip >file "/data/app/com.example.aaronliang.flow_v1->177.apk"],nativeLibraryDirectories=[/data/app->lib/com.example.aaronliang.flow_v1-177, /vendor/lib, /system/lib]]]
Voici mes fichiers de construction gradle actuels :
Construction du projet :
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
classpath 'com.google.gms:google-services:3.1.0'
//classpath 'com.android.tools.build:gradle:2.3.3'
//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()
maven { url "https://jitpack.io" }
maven { url "https://maven.google.com" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
App build :
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion '26.0.2'
defaultConfig {
multiDexEnabled true
applicationId "com.example.aaronliang.flow_v1"
minSdkVersion 15
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(include: ['*.jar'], dir: 'libs')
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.1.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.volley:volley:1.0.0'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.google.firebase:firebase-firestore:11.6.0'
compile 'com.google.firebase:firebase-auth:11.6.0'
compile 'com.google.firebase:firebase-core:11.6.0'
compile 'com.google.android.gms:play-services:11.6.0'
compile 'com.github.woxthebox:draglistview:1.5.0'
//compile 'com.github.PhilJay:MPAndroidChart:v3.0.2'
compile 'com.jjoe64:graphview:4.2.1'
testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.1'
}
}
}
}
Toute aide serait appréciée, car ce projet doit être rendu bientôt !