J'essaie d'inclure l'authentification Firebase (en particulier, l'authentification par courriel/mot de passe avec FirebaseUI Auth) dans un projet. Depuis que je suis novice, j'utilise les exemples d'un livre ("Firebase Essentials Android Edition"). Ils fonctionnent comme prévu, le problème apparaît quand je suis obligé d'utiliser:DexException avec FirebaseUI: com.android.dex.DexException: plusieurs fichiers dex définissent Lcom/google/android/gms/internal/zzeg;
compile 'com.google.firebase:firebase-auth:11.2.0'
au lieu de la version 11.0.4
proposée dans le livre (pour utiliser google maps). La possibilité de se déconnecter et de supprimer un compte cesse de fonctionner.
J'ai cherché des informations et j'essaye de mettre à jour tout ce que je peux. J'utilise Android Studio 2.3.3. À l'heure actuelle, je les build.gradle
scripts suivants:
projet build.gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.google.gms:google-services:3.0.0'
}
}
allprojects {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
app build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
applicationId "com.doov.firetest"
minSdkVersion 16
targetSdkVersion 25
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.0.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.firebase:firebase-auth:11.2.0'
compile 'com.firebaseui:firebase-ui:2.0.1'
compile 'com.firebaseui:firebase-ui-auth:2.0.1'
testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
Mais quand je construis je reçois l'erreur suivante (je l'ai vu à d'autres moments, c'est pourquoi j'ai fait une question "générique" qui pourrait peut-être résoudre tous ces types de questions):
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzeg;
Comment le résoudre?
Merci beaucoup pour votre temps et votre aide dans ce dossier.
Lorsque vous voyez 'com.android.dex.DexException: plusieurs fichiers dex définissent X', vous devez exécuter' gradlew app: dependencies --configuration releaseCompileClasspath'. La sortie aide à trouver une solution – DeKaNszn