添加 Firebase In-App Messaging 依赖引发了 DexArchiveMergerException 异常

7

我正在测试Firebase In-App Messaging功能,已添加依赖项

implementation 'com.google.firebase:firebase-inappmessaging-display:17.0.0'

但是Android Studio抛出了DexArchiveMergerException异常。如下所示,在build.gradle中启用了多dexing。
这是我的build.gradle(app):
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.firebase.firebase-perf'
apply plugin: 'io.fabric'
android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'

    dexOptions {
        keepRuntimeAnnotatedClasses false
    }

    defaultConfig {
        applicationId "np.com.aawaz.csitentrance"
        minSdkVersion 16
        targetSdkVersion 25
        multiDexEnabled true
        versionCode 80
        versionName "3.1.3"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    implementation 'com.android.support:cardview-v7:27.1.1'
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    implementation 'com.nineoldandroids:library:2.4.0'
    implementation 'com.facebook.android:facebook-android-sdk:4.34.0'
    implementation 'com.google.android.gms:play-services-auth:16.0.0'
    implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
    implementation 'com.squareup.okhttp3:okhttp:3.10.0'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.daimajia.easing:library:2.0@aar'
    implementation 'com.daimajia.slider:library:1.1.5@aar'
    implementation 'com.daimajia.androidanimations:library:2.2@aar'
    implementation 'de.hdodenhof:circleimageview:2.2.0'
    implementation 'com.github.medyo:fancybuttons:1.8.4'
    implementation 'gun0912.ted:tedpermission:2.2.0'
    implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
    implementation 'com.google.code.gson:gson:2.8.4'
    implementation 'com.android.support:multidex:1.0.3'

    implementation 'com.crashlytics.sdk.android:crashlytics:2.9.4'

    implementation 'com.google.firebase:firebase-core:16.0.1'
    implementation 'com.google.firebase:firebase-messaging:17.3.0'
    implementation 'com.google.firebase:firebase-auth:16.0.3'
    implementation 'com.google.firebase:firebase-database:16.0.1'
    implementation 'com.google.firebase:firebase-firestore:17.1.0'
    implementation 'com.google.firebase:firebase-storage:16.0.1'
    implementation 'com.google.firebase:firebase-perf:16.1.0'
    implementation 'com.google.firebase:firebase-appindexing:16.0.1'
    implementation 'com.google.firebase:firebase-inappmessaging-display:17.0.0'
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
apply plugin: 'com.google.gms.google-services'
repositories {
    mavenCentral()
}

build.gradle(project)

buildscript {
    ext.kotlin_version = '1.2.50'
    repositories {
        mavenCentral()
        maven { url "https://jitpack.io" }
        jcenter()
        google()
        maven {
            url 'https://maven.google.com/'
        }
        maven { url 'http://dl.bintray.com/amulyakhare/maven' }
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
        classpath 'com.google.gms:google-services:4.0.1'
        classpath 'com.google.firebase:firebase-plugins:1.1.5'
        classpath 'io.fabric.tools:gradle:1.25.4'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        mavenCentral()
        maven { url "https://jitpack.io" }
        jcenter()
        google()
        maven {
            url 'https://maven.google.com/'
        }
        maven { url 'http://dl.bintray.com/amulyakhare/maven' }
        maven { url 'https://maven.fabric.io/public' }
    }
}

以下是我收到的错误信息:

Program type already present: com.google.a.a.a.a.zza
Message{kind=ERROR, text=Program type already present: com.google.a.a.a.a.zza, sources=[Unknown source file], tool name=Optional.of(D8)}

and

org.gradle.initialization.ReportedException: org.gradle.internal.exceptions.LocationAwareException: Execution failed for task ':app:transformDexArchiveWithDexMergerForDebug'.

并且

java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/0, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/1, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/2, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/3, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/5, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/6, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/7, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/8, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/9, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/11, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/12, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/13, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/14, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/15, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/16, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/17, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/18, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/19, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/20, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/21, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/22, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/23, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/24, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/25, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/27, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/28, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/29, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/30, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/31, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/32, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/33, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/34, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/35, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/36, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/37, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/38, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/39, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/40, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/41, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/42, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/44, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/45, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/46, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/47, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/48, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/49, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/50, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/51, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/52, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/53, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/54, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/55, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/56, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/57, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/58, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/59, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/60, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/61, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/62, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/63, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/64, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/65, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/67, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/68, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/69, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/70, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/71, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/72, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/73, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/74, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/75, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/76, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/78, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/79, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/80, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/81, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/82, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/83, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/84, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/86, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/87, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/88, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/89, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/90, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/91, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/94, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/95, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/96, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/97, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/98, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/99, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/100, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/105, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/106, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/107, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/108, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/109, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/110, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/111, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/112, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/120, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/121, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/122, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/123, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/124, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/125, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/126, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/127, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/128, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/129, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/136, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/137, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/138, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/139, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/140, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/141, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/142, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/143, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/144, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/145, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/146, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/147, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/148, /Users/muskan/AndroidStudioProjects/CSIT_Entrance/app/build/intermediates/transforms/dexBuilder/debug/149  

1
通常,为了解决这样的问题,我们需要查看您的项目和应用程序模块的 build.gradle 文件。请更新您的帖子以包含它们。 - Bob Snyder
我也遇到了同样的错误。 - Dheeraj Rijhwani
@BobSnyder 我已经添加了应用程序和项目级别的 build.gradle 文件。你能帮忙一下吗? - Aawaz Gyawali
可能是[InApp Messaging Error]的重复问题(链接:https://stackoverflow.com/questions/51889511/inapp-messaging-error)。 - Rosário Pereira Fernandes
@RosárioPereiraFernandes 我看到了这个问题,它不同的是我已经实现了Multidexing,但他还没有。 - Aawaz Gyawali
2个回答

4

firebase-firestorefirebase-inappmessaging-display都包含com.google.a.a.a.a.zza,这就是为什么会出现以下错误:

程序类型已存在:com.google.a.a.a.a.zza

移除implementation 'com.google.firebase:firebase-firestore:17.1.0'将解决该问题。

编辑:

Firebase进行了更新后,问题已经得到解决。

enter image description here

现在您可以在同一个项目中使用Firestore和In-AppMessaging。


我在项目中使用Firestore,移除依赖项后出现了“未解决的引用:firestore”错误。 - Aawaz Gyawali
@AawazGyawali 哦,好的,如果您在代码中使用了Firestore,则不起作用。我复制了您的gradle文件,问题是因为这个 com.google.a.a.a.a.zza 在两个依赖项中都存在,这就是为什么会出现程序存在错误的原因。https://developer.android.com/studio/build/dependencies#duplicate_classes - Peter Haddad
你尝试过不使用Firestore来运行你的项目吗,@sjmach?它能正常工作吗?同时也不确定解决方案是什么。 - Peter Haddad
@sjmach 他不能像他在这里的第一条评论中所说的那样删除Firestore。 - Peter Haddad
@AawazGyawali,这个问题现在应该已经解决了。 - Peter Haddad
显示剩余5条评论

0
  1. 尝试将 targetSdkVersion 更改为 27,minSdkVersion 更改为 23

  2. clean

  3. rebuild


5
我不能简单地将minSdkVersion更改为23来解决此问题,因为我的许多用户使用的API版本低于23。 - Aawaz Gyawali

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接