Type com.mapbox.module.Mapbox_TripNotificationModuleConfiguration is defined multiple times
113408 opened this issue · 1 comments
I'm trying to use a custom module for TripNotification, while I'm able to replace the module in debug, the compilation fails during assembleRelease
more specifically during mergeDexRelease
.
Gradle complains about finding 2 com.mapbox.module.Mapbox_TripNotificationModuleConfiguration
. Indeed one is generated by the annotation processor (my custom notification) and the second appears to be generated by the Navigation SDK (MapboxTripNotification) as you can see below.
The issue is only happening when the enableConfiguration
is set to true. In the case of TripNotification implementation, there is no workaround as I need to supply a context.
Any help would be much appreciated.
Error
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
Type com.mapbox.module.Mapbox_TripNotificationModuleConfiguration is defined multiple times: .../app/build/intermediates/project_dex_archive/release/out/com/mapbox/module/Mapbox_TripNotificationModuleConfiguration.dex, .../app/build/intermediates/external_libs_dex/release/out/classes2.dex
External dex class
.class public final Lcom/mapbox/module/Mapbox_TripNotificationModuleConfiguration;
.super Ljava/lang/Object;
.source "Mapbox_TripNotificationModuleConfiguration.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
d1 = {
"\u0000 \n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0008\u0002\n\u0002\u0010\u000b\n\u0002\u0008\u0004\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0004\u0008\u00c7\u0002\u0018\u00002\u00020\u0001B\u0007\u0008\u0002\u00a2\u0006\u0002\u0010\u0002R\u001c\u0010\u0003\u001a\u00020\u00048\u0006X\u0087D\u00a2\u0006\u000e\n\u0000\u0012\u0004\u0008\u0005\u0010\u0002\u001a\u0004\u0008\u0006\u0010\u0007R\"\u0010\u0008\u001a\u0008\u0012\u0004\u0012\u00020\n0\t8\u0006X\u0087\u0004\u00a2\u0006\u000e\n\u0000\u0012\u0004\u0008\u000b\u0010\u0002\u001a\u0004\u0008\u000c\u0010\r\u00a8\u0006\u000e"
}
d2 = {
"Lcom/mapbox/module/Mapbox_TripNotificationModuleConfiguration;",
"",
"()V",
"enableConfiguration",
"",
"enableConfiguration$annotations",
"getEnableConfiguration",
"()Z",
"implClass",
"Ljava/lang/Class;",
"Lcom/mapbox/navigation/trip/notification/MapboxTripNotification;",
"implClass$annotations",
"getImplClass",
"()Ljava/lang/Class;",
"libtrip-notification_release"
}
k = 0x1
mv = {
0x1,
0x1,
0x10
}
.end annotation
# static fields
.field public static final INSTANCE:Lcom/mapbox/module/Mapbox_TripNotificationModuleConfiguration;
.field private static final enableConfiguration:Z = false
.field private static final implClass:Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Class<",
"Lcom/mapbox/navigation/trip/notification/MapboxTripNotification;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 13
new-instance v0, Lcom/mapbox/module/Mapbox_TripNotificationModuleConfiguration;
invoke-direct {v0}, Lcom/mapbox/module/Mapbox_TripNotificationModuleConfiguration;-><init>()V
sput-object v0, Lcom/mapbox/module/Mapbox_TripNotificationModuleConfiguration;->INSTANCE:Lcom/mapbox/module/Mapbox_TripNotificationModuleConfiguration;
.line 18
const-class v0, Lcom/mapbox/navigation/trip/notification/MapboxTripNotification;
sput-object v0, Lcom/mapbox/module/Mapbox_TripNotificationModuleConfiguration;->implClass:Ljava/lang/Class;
return-void
.end method
.method private constructor <init>()V
.registers 1
.line 13
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static synthetic enableConfiguration$annotations()V
.registers 0
.annotation runtime Lkotlin/jvm/JvmStatic;
.end annotation
return-void
.end method
.method public static final getEnableConfiguration()Z
.registers 1
.line 15
sget-boolean v0, Lcom/mapbox/module/Mapbox_TripNotificationModuleConfiguration;->enableConfiguration:Z
return v0
.end method
.method public static final getImplClass()Ljava/lang/Class;
.registers 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/lang/Class<",
"Lcom/mapbox/navigation/trip/notification/MapboxTripNotification;",
">;"
}
.end annotation
.line 18
sget-object v0, Lcom/mapbox/module/Mapbox_TripNotificationModuleConfiguration;->implClass:Ljava/lang/Class;
return-object v0
.end method
.method public static synthetic implClass$annotations()V
.registers 0
.annotation runtime Lkotlin/jvm/JvmStatic;
.end annotation
return-void
.end method
This is not relevant as excluding the correct group solves the issue