android中的重复WebRTC类

Posted

技术标签:

【中文标题】android中的重复WebRTC类【英文标题】:Duplicate WebRTC class in android 【发布时间】:2016-11-29 08:22:15 【问题描述】:

我在我的 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 集成到我的 android 应用程序中,我已将 TokBox jar 集成到我的项目中,现在我也尝试将 VSee SDK 放入应用程序中,我猜两者都有 WebRTC 库所以,我'收到重复错误,但我无法找到排除其中一个以修复重复错误的方法。

到目前为止,我尝试将它添加到我的应用的 Gradle 构建中。

> exclude group: 'org.webrtc'

但它不起作用,有人可以帮我解决这个问题吗?提前致谢!

【问题讨论】:

你有什么解决办法吗,因为我也面临同样的问题。 我遇到了类似的日志问题:错误:任务“:app:transformClassesWithJarMergingForProudctDebug”的执行失败。 > com.android.build.api.transform.TransformException: java.util.zip.ZipException: 重复条目:org/webrtc/voiceengine/BuildInfo.class 你得到这个答案了吗? 【参考方案1】:

我刚刚遇到同样的错误。事实证明,就我而言,它只是写成:“重复”。 我在“build.gradle”-“依赖项”上有相同的“编译”行。它总是在那里,在我升级android studio(2.2)和gradle版本('classpath'com.android.tools.build:gradle:2.2.0')后错误开始跳跃

我删除了其中一条重复的行,错误消失了。

【讨论】:

你的回答被另一个论坛asktoanswer.com/questions/duplicate-webrtc-class-in-android抄袭【参考方案2】:

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

或者我发现一个简单的清理和重建修复了类似的错误。

【讨论】:

【参考方案3】:

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

【讨论】:

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

以上是关于android中的重复WebRTC类的主要内容,如果未能解决你的问题,请参考以下文章

Android技术分享| 超简单!给 Android WebRTC增加美颜滤镜功能

webrtc 中的 Android 端 jni

webrtc 中的 Android 端 jni

webrtc 中的 Android 端 jni

webrtc 中的 Android 端 jni

WebRTC中Android Demo中的摄像头从采集到预览流程