# Type com.zipow.cmmlib.AppContext$AppContextImpl$1 is defined multiple times

**URL:** <https://devforum.zoom.us/t/type-com-zipow-cmmlib-appcontext-appcontextimpl-1-is-defined-multiple-times/69568>\
**Category:** Android\
**Tags:** meeting-sdk\
**Created:** [May 26, 2022, 4:13am UTC](https://devforum.zoom.us/t/type-com-zipow-cmmlib-appcontext-appcontextimpl-1-is-defined-multiple-times/69568 "2022-05-26T04:13:36Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Henry.Ng](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/henry.ng/32/38012_2.png) [@Henry.Ng](https://devforum.zoom.us/u/Henry.Ng)\
**Post date:** [May 26, 2022, 4:13am UTC](https://devforum.zoom.us/t/type-com-zipow-cmmlib-appcontext-appcontextimpl-1-is-defined-multiple-times/69568/1 "2022-05-26T04:13:36Z")

</div>

**Description**  
I implemented 2 SDKs: Meeting and Video SDK

**Which Android Meeting SDK version?**  
Meeting: zoom-sdk-android-5.10.3.5614  
Video: zoom-video-sdk-android-1.3.0

**To Reproduce(If applicable)**  
Steps to reproduce the behavior:

1. Create 3 modules
2. Implement 3 zoom modules (common lib, mobilertc, videosdk) to 1 module
3. Build
4. See errors

```auto
> Task :app:mergeLibDexStagingDebug FAILED
AGPBI: {"kind":"error","text":"Type com.zipow.cmmlib.AppContext$AppContextImpl$1 is defined multiple times: /Users/henry/Documents/Work/Mindfi/libraries/mobilertc/build/.transforms/c180b8226330d6a9b020821d9b1f1ba4/transformed/jetified-mobilertc-runtime/classes.dex, /Users/henry/Documents/Work/Mindfi/libraries/videosdk/build/.transforms/594344b2794c1fb8ec72401854cbd230/transformed/jetified-videosdk-runtime/classes.dex","sources":[{"file":"/Users/henry/Documents/Work/Mindfi/libraries/mobilertc/build/.transforms/c180b8226330d6a9b020821d9b1f1ba4/transformed/jetified-mobilertc-runtime/classes.dex"}],"tool":"D8"}
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: 
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Type com.zipow.cmmlib.AppContext$AppContextImpl$1 is defined multiple times: /Users/henry/Documents/Work/Mindfi/libraries/mobilertc/build/.transforms/c180b8226330d6a9b020821d9b1f1ba4/transformed/jetified-mobilertc-runtime/classes.dex, /Users/henry/Documents/Work/Mindfi/libraries/videosdk/build/.transforms/594344b2794c1fb8ec72401854cbd230/transformed/jetified-videosdk-runtime/classes.dex
	at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:151)
	at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:138)
	at com.android.build.gradle.internal.tasks.DexMergingWorkAction.merge(DexMergingTask.kt:863)
	at com.android.build.gradle.internal.tasks.DexMergingWorkAction.run(DexMergingTask.kt:809)
	at com.android.build.gradle.internal.profile.ProfileAwareWorkAction.execute(ProfileAwareWorkAction.kt:74)
	at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
	at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:97)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
	at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
	at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
	at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
	at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:206)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:214)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:131)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: /Users/henry/Documents/Work/Mindfi/libraries/mobilertc/build/.transforms/c180b8226330d6a9b020821d9b1f1ba4/transformed/jetified-mobilertc-runtime/classes.dex
	at Version.fakeStackEntry(Version_3.0.73.java:0)
	at com.android.tools.r8.utils.w.a(SourceFile:68)
	at com.android.tools.r8.utils.w.a(SourceFile:28)
	at com.android.tools.r8.utils.w.a(SourceFile:27)
	at com.android.tools.r8.utils.w.b(SourceFile:3)
	at com.android.tools.r8.D8.run(D8.java:11)
	at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:136)
	... 35 more
Caused by: com.android.tools.r8.internal.b: Type com.zipow.cmmlib.AppContext$AppContextImpl$1 is defined multiple times: /Users/henry/Documents/Work/Mindfi/libraries/mobilertc/build/.transforms/c180b8226330d6a9b020821d9b1f1ba4/transformed/jetified-mobilertc-runtime/classes.dex, /Users/henry/Documents/Work/Mindfi/libraries/videosdk/build/.transforms/594344b2794c1fb8ec72401854cbd230/transformed/jetified-videosdk-runtime/classes.dex
	at com.android.tools.r8.internal.UA.a(SourceFile:14)
	at com.android.tools.r8.internal.UA.a(SourceFile:22)
	at com.android.tools.r8.internal.Fw.b(SourceFile:6)
	at com.android.tools.r8.internal.Fw.a(SourceFile:23)
	at com.android.tools.r8.internal.Fw.a(SourceFile:10)
	at java.base/java.util.concurrent.ConcurrentHashMap.merge(ConcurrentHashMap.java:2048)
	at com.android.tools.r8.internal.Fw.a(SourceFile:6)
	at com.android.tools.r8.graph.I0$c.f(SourceFile:3)
	at com.android.tools.r8.dex.a.a(SourceFile:94)
	at com.android.tools.r8.dex.a.a(SourceFile:23)
	at com.android.tools.r8.D8.a(D8.java:21)
	at com.android.tools.r8.D8.d(D8.java:11)
	at com.android.tools.r8.D8.b(D8.java:1)
	at com.android.tools.r8.utils.w.a(SourceFile:24)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: /Users/henry/Documents/Work/Mindfi/libraries/mobilertc/build/.transforms/c180b8226330d6a9b020821d9b1f1ba4/transformed/jetified-mobilertc-runtime/classes.dex

Caused by: com.android.tools.r8.internal.b: Type com.zipow.cmmlib.AppContext$AppContextImpl$1 is defined multiple times: /Users/henry/Documents/Work/Mindfi/libraries/mobilertc/build/.transforms/c180b8226330d6a9b020821d9b1f1ba4/transformed/jetified-mobilertc-runtime/classes.dex, /Users/henry/Documents/Work/Mindfi/libraries/videosdk/build/.transforms/594344b2794c1fb8ec72401854cbd230/transformed/jetified-videosdk-runtime/classes.dex

	... 38 more

Execution failed for task ':app:mergeLibDexStagingDebug'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingTaskDelegate
   > There was a failure while executing work items
      > A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingWorkAction
         > com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: 
           Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
           Type com.zipow.cmmlib.AppContext$AppContextImpl$1 is defined multiple times: /Users/henry/Documents/Work/Mindfi/libraries/mobilertc/build/.transforms/c180b8226330d6a9b020821d9b1f1ba4/transformed/jetified-mobilertc-runtime/classes.dex, /Users/henry/Documents/Work/Mindfi/libraries/videosdk/build/.transforms/594344b2794c1fb8ec72401854cbd230/transformed/jetified-videosdk-runtime/classes.dex

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:mergeLibDexStagingDebug'.
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:187)
	at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:268)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:185)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:173)
	at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
	at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:74)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:408)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:395)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:388)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:374)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingTaskDelegate
	at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:208)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:214)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:131)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: org.gradle.workers.WorkerExecutionException: There was a failure while executing work items
	at org.gradle.workers.internal.DefaultWorkerExecutor.workerExecutionException(DefaultWorkerExecutor.java:270)
	at org.gradle.workers.internal.DefaultWorkerExecutor.await(DefaultWorkerExecutor.java:252)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:72)
	at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
	at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
	at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
	at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:206)
	... 6 more
Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingWorkAction
	at org.gradle.workers.internal.DefaultWorkerExecutor$WorkItemExecution.waitForCompletion(DefaultWorkerExecutor.java:342)
	at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:142)
	at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:90)
	at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForAll(DefaultAsyncWorkTracker.java:80)
	at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForCompletion(DefaultAsyncWorkTracker.java:68)
	at org.gradle.workers.internal.DefaultWorkerExecutor.await(DefaultWorkerExecutor.java:250)
	... 22 more
Caused by: com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: 
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Type com.zipow.cmmlib.AppContext$AppContextImpl$1 is defined multiple times: /Users/henry/Documents/Work/Mindfi/libraries/mobilertc/build/.transforms/c180b8226330d6a9b020821d9b1f1ba4/transformed/jetified-mobilertc-runtime/classes.dex, /Users/henry/Documents/Work/Mindfi/libraries/videosdk/build/.transforms/594344b2794c1fb8ec72401854cbd230/transformed/jetified-videosdk-runtime/classes.dex
	at com.android.build.gradle.internal.tasks.DexMergingWorkAction.merge(DexMergingTask.kt:876)
	at com.android.build.gradle.internal.tasks.DexMergingWorkAction.run(DexMergingTask.kt:809)
	at com.android.build.gradle.internal.profile.ProfileAwareWorkAction.execute(ProfileAwareWorkAction.kt:74)
	at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
	at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:97)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
	... 21 more
Caused by: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: 
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Type com.zipow.cmmlib.AppContext$AppContextImpl$1 is defined multiple times: /Users/henry/Documents/Work/Mindfi/libraries/mobilertc/build/.transforms/c180b8226330d6a9b020821d9b1f1ba4/transformed/jetified-mobilertc-runtime/classes.dex, /Users/henry/Documents/Work/Mindfi/libraries/videosdk/build/.transforms/594344b2794c1fb8ec72401854cbd230/transformed/jetified-videosdk-runtime/classes.dex
	at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:151)
	at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:138)
	at com.android.build.gradle.internal.tasks.DexMergingWorkAction.merge(DexMergingTask.kt:863)
	... 28 more
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: /Users/henry/Documents/Work/Mindfi/libraries/mobilertc/build/.transforms/c180b8226330d6a9b020821d9b1f1ba4/transformed/jetified-mobilertc-runtime/classes.dex
	at Version.fakeStackEntry(Version_3.0.73.java:0)
	at com.android.tools.r8.utils.w.a(SourceFile:68)
	at com.android.tools.r8.utils.w.a(SourceFile:28)
	at com.android.tools.r8.utils.w.a(SourceFile:27)
	at com.android.tools.r8.utils.w.b(SourceFile:3)
	at com.android.tools.r8.D8.run(D8.java:11)
	at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:136)
	... 29 more
Caused by: com.android.tools.r8.internal.b: Type com.zipow.cmmlib.AppContext$AppContextImpl$1 is defined multiple times: /Users/henry/Documents/Work/Mindfi/libraries/mobilertc/build/.transforms/c180b8226330d6a9b020821d9b1f1ba4/transformed/jetified-mobilertc-runtime/classes.dex, /Users/henry/Documents/Work/Mindfi/libraries/videosdk/build/.transforms/594344b2794c1fb8ec72401854cbd230/transformed/jetified-videosdk-runtime/classes.dex
	at com.android.tools.r8.internal.UA.a(SourceFile:14)
	at com.android.tools.r8.internal.UA.a(SourceFile:22)
	at com.android.tools.r8.internal.Fw.b(SourceFile:6)
	at com.android.tools.r8.internal.Fw.a(SourceFile:23)
	at com.android.tools.r8.internal.Fw.a(SourceFile:10)
	at com.android.tools.r8.internal.Fw.a(SourceFile:6)
	at com.android.tools.r8.graph.I0$c.f(SourceFile:3)
	at com.android.tools.r8.dex.a.a(SourceFile:94)
	at com.android.tools.r8.dex.a.a(SourceFile:23)
	at com.android.tools.r8.D8.a(D8.java:21)
	at com.android.tools.r8.D8.d(D8.java:11)
	at com.android.tools.r8.D8.b(D8.java:1)
	at com.android.tools.r8.utils.w.a(SourceFile:24)
	... 32 more

```

---

<div class="post-metadata">

**Author:** ![Henry.Ng](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/henry.ng/32/38012_2.png) [@Henry.Ng](https://devforum.zoom.us/u/Henry.Ng)\
**Post date:** [May 26, 2022, 4:16am UTC](https://devforum.zoom.us/t/type-com-zipow-cmmlib-appcontext-appcontextimpl-1-is-defined-multiple-times/69568/2 "2022-05-26T04:16:44Z")

</div>

Updated

Gradle:

Commonlib 🙂

```auto
configurations.create("default")
artifacts.add("default", file('commonlib.aar'))

```

Mobilertc: (meeting)

```auto
configurations.create("default")
artifacts.add("default", file('mobilertc.aar'))

dependencies.add("default","androidx.security:security-crypto:1.1.0-alpha03")
dependencies.add("default","com.google.crypto.tink:tink-android:1.5.0")
dependencies.add("default","com.google.android.exoplayer:exoplayer-core:2.16.1")
dependencies.add("default","com.google.android.exoplayer:exoplayer-ui:2.16.1")
dependencies.add("default","androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")

dependencies.add("default","androidx.appcompat:appcompat:1.3.1")
dependencies.add("default","androidx.constraintlayout:constraintlayout:2.1.0")
dependencies.add("default","com.google.android.material:material:1.4.0")
dependencies.add("default","com.google.android:flexbox:2.0.1")
dependencies.add("default","androidx.multidex:multidex:2.0.0")
dependencies.add("default","com.google.code.gson:gson:2.8.1")
dependencies.add("default","com.github.bumptech.glide:annotations:4.11.0")
dependencies.add("default","com.github.bumptech.glide:glide:4.11.0")

dependencies.add("default","androidx.recyclerview:recyclerview:1.2.1")
dependencies.add("default","com.airbnb.android:lottie:4.0.0")

dependencies.add("default","androidx.window:window:1.0.0")

dependencies.add("default","androidx.window:window-java:1.0.0")

dependencies.add("default","org.jetbrains.kotlin:kotlin-stdlib:1.6.0")
dependencies.add("default","androidx.core:core-ktx:1.7.0")
dependencies.add("default","androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0")
dependencies.add("default","androidx.lifecycle:lifecycle-runtime-ktx:2.4.0")

dependencies.add("default","androidx.fragment:fragment-ktx:1.4.1")

```

Videosdk

```auto
configurations.create("default")
artifacts.add("default", file('videosdk.aar'))

dependencies.add("default","androidx.security:security-crypto:1.1.0-alpha03")
dependencies.add("default","com.google.crypto.tink:tink-android:1.5.0")
dependencies.add("default","androidx.appcompat:appcompat:1.3.0")

```

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [May 27, 2022, 4:13pm UTC](https://devforum.zoom.us/t/type-com-zipow-cmmlib-appcontext-appcontextimpl-1-is-defined-multiple-times/69568/3 "2022-05-27T16:13:31Z")

</div>

Hi @Henry.Ng, thanks for using the dev forum.

The error you are seeing is being caused by including both the Meeting SDK and Video SDK in the same project. These two SDKs have some shared components, so it is not possible to integrate both of them into the same project.

Thanks!

---

<div class="post-metadata">

**Author:** ![Henry.Ng](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/henry.ng/32/38012_2.png) [@Henry.Ng](https://devforum.zoom.us/u/Henry.Ng)\
**Post date:** [May 30, 2022, 2:16am UTC](https://devforum.zoom.us/t/type-com-zipow-cmmlib-appcontext-appcontextimpl-1-is-defined-multiple-times/69568/4 "2022-05-30T02:16:01Z")

</div>

Which SDK should I use for both Meeting and Video SDK?

For some functions, we are using Meeting SDK  
Remaining functions we are using Video SDK

I have 2 accounts:  
The first account is used for meeting SDK  
The second account is used for video SDK.

Thanks

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [May 31, 2022, 4:50pm UTC](https://devforum.zoom.us/t/type-com-zipow-cmmlib-appcontext-appcontextimpl-1-is-defined-multiple-times/69568/5 "2022-05-31T16:50:27Z")

</div>

Hi @Henry.Ng,

As mentioned previously, you cannot use both SDKs in the same project. You will need to consolidate your functionality in such a way that only one of the SDKs is being used. If you are unsure which SDK best fits your needs, there is a comparison available [here](https://marketplace.zoom.us/docs/sdk/overview/compare).

Thanks!

---

<div class="post-metadata">

**Author:** ![Henry.Ng](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/henry.ng/32/38012_2.png) [@Henry.Ng](https://devforum.zoom.us/u/Henry.Ng)\
**Post date:** [May 31, 2022, 5:51pm UTC](https://devforum.zoom.us/t/type-com-zipow-cmmlib-appcontext-appcontextimpl-1-is-defined-multiple-times/69568/6 "2022-05-31T17:51:30Z")

</div>

Hi @jon.zoom ,

My co-worker is working on the ios + web sides, he can implement both SDKs. so is it only happening on the Android side?

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [June 1, 2022, 6:52pm UTC](https://devforum.zoom.us/t/type-com-zipow-cmmlib-appcontext-appcontextimpl-1-is-defined-multiple-times/69568/7 "2022-06-01T18:52:08Z")

</div>

Hi @Henry.Ng,

Due to differences in build environments, the behavior will vary between platforms. Ultimately, the Meeting SDK and Video SDK were not built with the intent of both being used in the same project.

Thanks!

---

<div class="post-metadata">

**Author:** ![Henry.Ng](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/henry.ng/32/38012_2.png) [@Henry.Ng](https://devforum.zoom.us/u/Henry.Ng)\
**Post date:** [June 7, 2022, 4:06am UTC](https://devforum.zoom.us/t/type-com-zipow-cmmlib-appcontext-appcontextimpl-1-is-defined-multiple-times/69568/8 "2022-06-07T04:06:26Z")

</div>

Hi @jon.zoom , My company paid for both SDKs, so Can you send us customized SDKs using both the Video and Meeting functions?

If you can do that, I will send the company information to you.  
Thanks.

---

<div class="post-metadata">

**Author:** ![Henry.Ng](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/henry.ng/32/38012_2.png) [@Henry.Ng](https://devforum.zoom.us/u/Henry.Ng)\
**Post date:** [June 8, 2022, 4:11am UTC](https://devforum.zoom.us/t/type-com-zipow-cmmlib-appcontext-appcontextimpl-1-is-defined-multiple-times/69568/9 "2022-06-08T04:11:24Z")

</div>

Or at least, Zoom center can give me a guide that helps me build an AAR file for both SDKs(meeting and video). Thanks

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [July 8, 2022, 2:11pm UTC](https://devforum.zoom.us/t/type-com-zipow-cmmlib-appcontext-appcontextimpl-1-is-defined-multiple-times/69568/10 "2022-07-08T14:11:58Z")

</div>

Closed on July 8, 2022, 2:11pm UTC

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
