0

We have a Unity project (Unity 2019.2.15f1) where we are using multiple Firebase Plugins: Cloud Storage, Messaging & Remote Config

We recently updated the Firebase Unity Plugins from v6.7.0 to v6.15.2 The local build passed & even worked on Android phone.

BUT, it is throwing 100s of duplicate class build errors in Unity Cloud Build. We are clueless about the issue & are struggling to find a fix for it. Please find attached the Build Log from Unity Cloud Build. Did anyone face the same issue? Kindly help me fix it.

97: [Unity] ERROR:   Duplicate class com.google.android.gms.internal.measurement.zzw found in modules classes.jar (:com.google.android.gms.play-services-measurement-base-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-base-17.4.4:)
998: [Unity] ERROR:   Duplicate class com.google.android.gms.internal.measurement.zzx found in modules classes.jar (:com.google.android.gms.play-services-measurement-base-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-base-17.4.4:)
999: [Unity] ERROR:   Duplicate class com.google.android.gms.internal.measurement.zzy found in modules classes.jar (:com.google.android.gms.play-services-measurement-base-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-base-17.4.4:)
1000: [Unity] ERROR:   Duplicate class com.google.android.gms.internal.measurement.zzz found in modules classes.jar (:com.google.android.gms.play-services-measurement-base-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-base-17.4.4:)
1001: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.AppMeasurement found in modules classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.4:)
1002: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.AppMeasurement$ConditionalUserProperty found in modules classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.4:)
1003: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.AppMeasurement$Event found in modules classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.4:)
1004: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.AppMeasurement$EventInterceptor found in modules classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.4:)
1005: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.AppMeasurement$OnEventListener found in modules classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.4:)
1006: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.AppMeasurement$Param found in modules classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.4:)
1007: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.AppMeasurement$UserProperty found in modules classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.4:)
1008: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.AppMeasurementContentProvider found in modules classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.4:)
1009: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver found in modules classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.4:)
1010: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.AppMeasurementJobService found in modules classes.jar (:com.google.android.gms.play-services-measurement-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-17.4.4:)
1011: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.AppMeasurementReceiver found in modules classes.jar (:com.google.android.gms.play-services-measurement-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-17.4.4:)
1012: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.AppMeasurementService found in modules classes.jar (:com.google.android.gms.play-services-measurement-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-17.4.4:)
1013: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.api.AppMeasurementSdk found in modules classes.jar (:com.google.android.gms.play-services-measurement-sdk-api-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-sdk-api-17.4.4:)
1014: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.api.AppMeasurementSdk$ConditionalUserProperty found in modules classes.jar (:com.google.android.gms.play-services-measurement-sdk-api-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-sdk-api-17.4.4:)
1015: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.api.AppMeasurementSdk$EventInterceptor found in modules classes.jar (:com.google.android.gms.play-services-measurement-sdk-api-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-sdk-api-17.4.4:)
1016: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.api.AppMeasurementSdk$OnEventListener found in modules classes.jar (:com.google.android.gms.play-services-measurement-sdk-api-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-sdk-api-17.4.4:)
1017: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.internal.AppMeasurementDynamiteService found in modules classes.jar (:com.google.android.gms.play-services-measurement-sdk-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-sdk-17.4.4:)
1018: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.internal.AppMeasurementDynamiteService$zza found in modules classes.jar (:com.google.android.gms.play-services-measurement-sdk-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-sdk-17.4.4:)
1019: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.internal.AppMeasurementDynamiteService$zzb found in modules classes.jar (:com.google.android.gms.play-services-measurement-sdk-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-sdk-17.4.4:)
1020: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.internal.zza found in modules classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.4:)
1021: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.internal.zzaa found in modules classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.4:)
1022: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.internal.zzab found in modules classes.jar (:com.google.android.gms.play-services-measurement-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.4:)

1323: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.internal.zzz found in modules classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.4:)
1324: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.module.Analytics found in modules classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.4:)
1325: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.module.Analytics$Event found in modules classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.4:)
1326: [Unity] ERROR:   Duplicate class com.google.android.gms.measurement.module.Analytics$Param found in modules classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-impl-17.4.4:)
1327: [Unity] ERROR:   Duplicate class com.google.firebase.analytics.FirebaseAnalytics found in modules classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.4:)
1328: [Unity] ERROR:   Duplicate class com.google.firebase.analytics.FirebaseAnalytics$Event found in modules classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.4:)
1329: [Unity] ERROR:   Duplicate class com.google.firebase.analytics.FirebaseAnalytics$Param found in modules classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.4:)
1330: [Unity] ERROR:   Duplicate class com.google.firebase.analytics.FirebaseAnalytics$UserProperty found in modules classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.4:)
1331: [Unity] ERROR:   Duplicate class com.google.firebase.analytics.connector.AnalyticsConnectorImpl found in modules classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.4:)
1332: [Unity] ERROR:   Duplicate class com.google.firebase.analytics.connector.AnalyticsConnectorImpl$1 found in modules classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.4:)
1333: [Unity] ERROR:   Duplicate class com.google.firebase.analytics.connector.internal.AnalyticsConnectorRegistrar found in modules classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.4:)
1334: [Unity] ERROR:   Duplicate class com.google.firebase.analytics.connector.internal.zza found in modules classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.2:) and classes.jar (:com.google.android.gms.play-services-measurement-api-17.4.4:)

1345: [Unity] ERROR:   Duplicate class com.google.protobuf.AbstractMessageLite found in modules com.google.protobuf.protobuf-javalite-3.11.0.jar (com.google.protobuf.protobuf-javalite-3.11.0.jar) and com.google.protobuf.protobuf-lite-3.0.1.jar (com.google.protobuf.protobuf-lite-3.0.1.jar)
1346: [Unity] ERROR:   Duplicate class com.google.protobuf.AbstractMessageLite$Builder found in modules com.google.protobuf.protobuf-javalite-3.11.0.jar (com.google.protobuf.protobuf-javalite-3.11.0.jar) and com.google.protobuf.protobuf-lite-3.0.1.jar (com.google.protobuf.protobuf-lite-3.0.1.jar)
1347: [Unity] ERROR:   Duplicate class com.google.protobuf.AbstractMessageLite$Builder$LimitedInputStream found in modules com.google.protobuf.protobuf-javalite-3.11.0.jar (com.google.protobuf.protobuf-javalite-3.11.0.jar) and com.google.protobuf.protobuf-lite-3.0.1.jar (com.google.protobuf.protobuf-lite-3.0.1.jar)
1348: [Unity] ERROR:   Duplicate class com.google.protobuf.AbstractParser found in modules com.google.protobuf.protobuf-javalite-3.11.0.jar (com.google.protobuf.protobuf-javalite-3.11.0.jar) and com.google.protobuf.protobuf-lite-3.0.1.jar (com.google.protobuf.protobuf-lite-3.0.1.jar)
1349: [Unity] ERROR:   Duplicate class com.google.protobuf.AbstractProtobufList found in modules com.google.protobuf.protobuf-javalite-3.11.0.jar (com.google.protobuf.protobuf-javalite-3.11.0.jar) and com.google.protobuf.protobuf-lite-3.0.1.jar (com.google.protobuf.protobuf-lite-3.0.1.jar)
1350: [Unity] ERROR:   Duplicate class com.google.protobuf.BooleanArrayList found in modules com.google.protobuf.protobuf-javalite-3.11.0.jar (com.google.protobuf.protobuf-javalite-3.11.0.jar) and com.google.protobuf.protobuf-lite-3.0.1.jar (com.google.protobuf.protobuf-lite-3.0.1.jar)
1351: [Unity] ERROR:   Duplicate class com.google.protobuf.ByteBufferWriter found in modules com.google.protobuf.protobuf-javalite-3.11.0.jar (com.google.protobuf.protobuf-javalite-3.11.0.jar) and com.google.protobuf.protobuf-lite-3.0.1.jar (com.google.protobuf.protobuf-lite-3.0.1.jar)


Eco Apps
  • 53
  • 9

2 Answers2

0

First, perhaps old files are sticking around. Could you try doing a clean build?

From "Why is my build failing in Unity Cloud Build but building fine locally?":

try doing a clean build from the dashboard (see below).

clean build ui from unity support

If that doesn't solve the issue, it looks like the issue has to do with dependencies getting resolved (Firebase uses a tool called the "Extended Dependency Manager for Unity" or "EDM4U" to help with this).

If you're using normal package resolution (ie: you see a lot of jars under Assets/Plugins/Android/), you can try generating a mainTemplate.gradle. EDM4U will delete all the library files it manages under Assets/Plugins/android/ and add them as dependencies in your gradle file for you. This should then go through the normal gradle process to finish building.

For this condition, that is traditional dependency management, you may also want to check if these files are included in source control. If they aren't, you could try adding them. If they are, you could try excluding them. Also, if you have the old libraries committed, updating them could help.

The reverse is also true: if you're already using the mainTemplate.gradle file, try deleting it and falling back to the old style of dependency management. This may fix the issue.

One last thing you could try doing: Either remove the ExternalDependencyManager folder under Assets/ or go to Screenshot showing the menu tree to

If you're willing, this would be an excellent issue to move over to the Unity issues. There isn't much work done with Unity Cloud Build right now, and it would make it easier to establish a back and forth to debug.

Patrick Martin
  • 2,993
  • 1
  • 13
  • 11
0

I had the same issue when added Firebase Analytics and AdMob to my Unity app.

I did these steps to solve the problem:

  1. Update android SDK, NDK and tools to necessary versions
  2. Add external dependency manager (android jar resolver)
  3. Select Assets -> External dependency manager -> Android resolver -> Resolve
  4. Try to build the app and see the errors (like yours)
  5. Go to File Explorer and find the project folder
  6. Make a search for conflicted files (in the project folder)

For ex:

Duplicate class
> com.google.android.gms.internal.measurement.zzw found in modules
> classes.jar (:com.google.android.gms.play-services-measurement-base-17.4.2:) and
> classes.jar (:com.google.android.gms.play-services-measurement-base-17.4.4:)

Search * com.google.android.gms.play-services-measurement-base- * (* on the start and the end shows to Explorer's search that there can be any symbols) and remove from results all files with lesser version (17.4.2)

  1. Try to build the app again
  2. If there are some adding errors like in your example go to step 5
  3. Done

This worked for me, but I am not sure that will work for you, but you can try.

Good luck

bylbaboy
  • 1
  • 3