在安卓中重复使用WebRTC类

12

我的Android应用程序出现了这些错误,以下是LogCat日志。

> Error:Execution failed for task
> ':android:transformClassesWithJarMergingForDebug'.
>  com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry:
> org/webrtc/voiceengine/WebRtcAudioRecord.class

我试图将第二个WebRTC集成到我的安卓应用中,我已经在项目中集成了TokBox jar,现在我也想把VSee SDK放进应用里面,我猜它们两个都有WebRTC库,所以我得到了重复错误,但我找不到一种方法来排除其中一个以解决重复错误。

到目前为止,我尝试在我的应用Gradle构建中添加了以下内容。

> exclude group: 'org.webrtc'

但是它不起作用,有人可以帮我解决吗?先谢谢了!


2
你有任何解决方案吗?因为我也遇到了同样的问题。 - Jeevanandhan
1
我遇到了与日志类似的问题:**错误:执行任务“:app:transformClassesWithJarMergingForProudctDebug”失败。
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/webrtc/voiceengine/BuildInfo.class** 你找到答案了吗?
- CoDe
3个回答

0

检查您的依赖项是否存在冲突,例如您没有模块A依赖于X 1.0和Y 1.0,但是X 1.0依赖于Y 2.0。

或者我发现简单的清理和重建可以解决类似的错误。


0
尝试在根构建文件夹中运行 ./gradlew clean 并重新构建。如果不起作用,请运行 ./gradlew app:dependencies./gradlew assembleDebug --debug 来查找依赖冲突,以便排除重复的类。

我知道依赖关系和冲突的原因。在我的情况下,我正在使用两个基于第三方WebRTC的解决方案,它们都使用相同的类名BuildInfo.class,这导致了问题。有什么建议吗? - CoDe
如果包名不同,重复的类名就不应该成为问题。也许它们都依赖于库的不同版本? - Kevin Brotcke
但是这实际上会导致问题,你可以看到我在上面的评论中添加了相同的内容。重复条目:org/webrtc/voiceengine/BuildInfo.class - CoDe

0
我刚刚遇到了同样的错误。结果发现,在我的情况下,它只是简单地写成了“duplicate”。 我在“build.gradle”文件中的“dependencies”部分有相同的“compile”行。它一直在那里,但在我升级了Android Studio(2.2)和Gradle版本('classpath 'com.android.tools.build:gradle:2.2.0')后,错误开始出现。
我删除了其中一个重复的行,错误就消失了。

你的回答在另一个论坛上被抄袭了。http://asktoanswer.com/questions/duplicate-webrtc-class-in-android/ - Bhargav Rao

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