【问题标题】:How to fix this Duplicate class error during build?如何在构建期间修复此 Duplicate class 错误?
【发布时间】:2020-04-26 23:21:36
【问题描述】:

我正在尝试在我的 android 应用程序中同时使用 jitsi 和 opentok,并相应地切换它们。

这些是我的 build.gradle(app) 依赖项

//使用的opentok依赖

implementation files('libs/opentok-android-sdk-2.15.2.aar')

//使用jitsi依赖

implementation ('org.jitsi.react:jitsi-meet-sdk:2.5.0')

我的构建失败,出现这样的错误

Duplicate class org.webrtc.AudioSource found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.AudioTrack found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.BaseBitrateAdjuster found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.BitrateAdjuster found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CallSessionFileRotatingLogSink found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.Camera1Capturer found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.Camera1Enumerator found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.Camera1Session found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.Camera1Session$1 found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.Camera1Session$2 found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.Camera1Session$SessionState found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.Camera2Capturer found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.Camera2Enumerator found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.Camera2Session found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.Camera2Session$1 found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.Camera2Session$CameraCaptureCallback found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.Camera2Session$CameraStateCallback found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.Camera2Session$CaptureSessionCallback found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.Camera2Session$SessionState found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraCapturer found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraCapturer$1 found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraCapturer$2 found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraCapturer$3 found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraCapturer$4 found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraCapturer$5 found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraCapturer$6 found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraCapturer$7 found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraCapturer$8 found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraCapturer$SwitchState found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraEnumerationAndroid found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraEnumerationAndroid$1 found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraEnumerationAndroid$2 found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraEnumerationAndroid$CaptureFormat found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraEnumerationAndroid$CaptureFormat$FramerateRange found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraEnumerationAndroid$ClosestComparator found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraEnumerator found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraSession found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraSession$CreateSessionCallback found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraSession$Events found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraSession$FailureType found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraVideoCapturer found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraVideoCapturer$CameraEventsHandler found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraVideoCapturer$CameraStatistics found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraVideoCapturer$CameraStatistics$1 found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraVideoCapturer$CameraSwitchHandler found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.CameraVideoCapturer$MediaRecorderHandler found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.ContextUtils found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.DataChannel found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.DataChannel$Buffer found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)
Duplicate class org.webrtc.DataChannel$Init found in modules jetified-opentok-android-sdk-2.15.2-runtime.jar (opentok-android-sdk-2.15.2.aar) and jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar (com.facebook.react:react-native-webrtc:1.75.2-jitsi-2994175)

谢谢,帮我解决这个问题

【问题讨论】:

  • 好问题。你找到解决办法了吗?

标签: java android androidx opentok jitsi


【解决方案1】:

这两个依赖项都使用 WebRTC 并使用它们导入 org.webrtc, 我可以建议的最好方法是使用 Opentalk 源代码文件(而不是 aar 依赖项,如果可用)并使用这些文件并使用 Jitsi 本身附带的 webrtc 依赖项。考虑到你不能使用 Jitsi 源代码作为它第一次编译时使用 react native 依赖项。

WebRTC 极大地增加了您的应用程序方面。反正你也不想导入两次。

【讨论】:

    【解决方案2】:

    在我的情况下,我通过删除一些库解决了问题:确保您使用了两个库(一个在您的 gradle 中的实现中,另一个是一个库,因此会产生重复错误)

    1. 实施组:'org.webrtc',名称:'google-webrtc',版本:'1.0.19742'
    2. 实现文件('libs/autobanh.jar')

    在您的情况下,请确保删除两个库之一:((opentok-android-sdk-2.15.2.aar) 和 jetified-react-native-webrtc-1.75.2-jitsi-2994175-runtime.jar)

    解决方案: 删除第二个并使缓存无效并重新启动并享受:)

    【讨论】:

      【解决方案3】:

      您正在寻找管理传递依赖,解决冲突问题的通用方法是从带来它的依赖之一中排除 传递依赖

      dependencies {
        compile('com.example.m:m:1.0') {
           exclude group: 'org.unwanted', module: 'x 
        }
        compile 'com.example.l:1.0'
      }
      

      您可以在 Gradle 的 dependency management 阅读更多内容。

      【讨论】:

      • 这可能是一个解决方案,但如果两个依赖项都使用不同版本的 WebRTC,这将不起作用。
      【解决方案4】:

      这个快照告诉你错误的问题:

      【讨论】:

      • 请描述你的答案。
      猜你喜欢
      • 2019-07-23
      • 1970-01-01
      • 1970-01-01
      • 2018-02-09
      • 2022-10-23
      • 2021-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多