webentwicklung-frage-antwort-db.com.de

Android Mehrere dex-Dateien definieren Lcom/google/Android/gms/common/api/zza

Das Erstellen eines Projekts und das Bereitstellen einer App für den Emulator mit API Level 22 oder 25 ist in Ordnung, aber wenn ich versuche, APK zu erstellen oder App auf meinem realen Gerät mit API Level 16 bereitzustellen, erhalte ich folgende Fehlermeldung:

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/common/api/zza;

Mein Projekt build.gradle file:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:2.2.2'
        classpath 'com.neenbedankt.gradle.plugins:Android-apt:1.8'
        classpath 'me.tatarka:gradle-retrolambda:3.3.0-beta4'
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

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

Meine App build.gradle file:

apply plugin: 'com.Android.application'
apply plugin: 'com.neenbedankt.Android-apt'
apply plugin: 'me.tatarka.retrolambda'
apply plugin: 'com.google.gms.google-services'

Android {
    compileSdkVersion 25
    buildToolsVersion "25.0.1"
    defaultConfig {
        applicationId "<aplication id here>"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }

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

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

}

dependencies {

    final SUPPORT_LIBRARY_VERSION = '25.0.1'
    final DAGGER_VERSION = '2.4'
    final BUTTERKNIFE_VERSION = '8.0.1'
    final TIMBER_VERISON = '4.3.0'
    final LEAKCANARY_VERSION = '1.4'
    final FIREBASE_VERSION = '10.0.0'
    final FIREBASE_UI_VERSION = '1.0.0'

    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile "com.Android.support:appcompat-v7:$SUPPORT_LIBRARY_VERSION"
    compile "com.Android.support:design:$SUPPORT_LIBRARY_VERSION"
    compile "com.Android.support:recyclerview-v7:$SUPPORT_LIBRARY_VERSION"
    compile "com.Android.support:cardview-v7:$SUPPORT_LIBRARY_VERSION"
    compile "com.Android.support:support-v4:$SUPPORT_LIBRARY_VERSION"
    compile "com.Android.support:support-vector-drawable:$SUPPORT_LIBRARY_VERSION"

    compile "com.google.dagger:dagger:$DAGGER_VERSION"
    apt "com.google.dagger:dagger-compiler:$DAGGER_VERSION"

    compile "com.google.firebase:firebase-database:$FIREBASE_VERSION"
    compile "com.firebaseui:firebase-ui-database:$FIREBASE_UI_VERSION"

    compile "com.jakewharton:butterknife:$BUTTERKNIFE_VERSION"
    apt "com.jakewharton:butterknife-compiler:$BUTTERKNIFE_VERSION"

    compile "com.jakewharton.timber:timber:$TIMBER_VERISON"

    debugCompile "com.squareup.leakcanary:leakcanary-Android:$LEAKCANARY_VERSION"

    androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.Android.support', module: 'support-annotations'
    })

    testCompile 'junit:junit:4.12'
}

Hinweis: Wenn ich meiner defaultConfig die Zeile "multiDexEnabled true" hinzufüge bekomme ich den folgenden Fehler:

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.Android.build.api.transform.TransformException: Java.util.Zip.ZipException: duplicate entry: com/google/Android/gms/common/api/zza.class
10
Sleepwalker

Verschiebe das:

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

Nach unten Ihrer app/build.gradle -Datei.

18
Bob Snyder

Dies trifft wahrscheinlich nicht auf die ursprüngliche Frage zu, aber falls es jemandem hilft. Dieser Fehler ist bei meinem ionic v1-Projekt aufgetreten. Ich benutze keine Firebase, aber ich habe es mit diese Antwort behoben (einfache Lösung - standardisieren Sie alle Google-Service-Versionen so, dass sie in Android/project.properties gleich sind)

0
John Tyner

für mich aktualisiere ich die firebase-bibliothek auf die neueste version und es hat einfach funktioniert

0
Fajar Ulin Nuha

Ich hatte zwar den gleichen Fehler, aber die obige Lösung funktionierte nicht für mich. Ich habe es geschafft, den Fehler durch ein Downgrade meiner Firebase-Ui-Bibliotheksversion von 2.0.0 auf 1.2.0 zu beheben, und fügte der Datei build.gradle auf Projektebene Folgendes hinzu:

allprojects {
    repositories {
        jcenter()

        // Add the following
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
}
0
Darush