【问题标题】:Android duplicate dependency problem in flutterFlutter中的Android重复依赖问题
【发布时间】:2020-04-07 23:25:47
【问题描述】:

我正在为我的颤振项目集成一个原生 android 视频播放器(castlabs 视频播放器),以便在原生 android 中支持 DRM。我已经在使用 video_player 颤振插件在后台播放一些视频。 这两个播放器都使用 Exoplayer 作为依赖项,这会导致重复依赖项错误。 castlabs sdk 集成为离线 maven 存储库。我可以看到它正在使用本地的 exoplayer。因此我无法更改其中的 Exoplayer 版本。

我们如何解决重复依赖问题?我收到以下错误:

Duplicate class com.google.android.exoplayer2.BasePlayer found in modules classes.jar (com.google.android.exoplayer:exoplayer-core:2.9.6) and classes.jar (com.google.android.exoplayer:library-core:r2.10.4-cl-4d4f5be)

(我是一名 iOS 开发人员,不精通 Android)。

谢谢。

【问题讨论】:

    标签: android flutter android-gradle-plugin android-library flutter-dependencies


    【解决方案1】:

    当两个库具有相同的类时会出现此问题,您可以通过从其中一个库中排除导致问题的类来轻松解决此问题,如下所示:

    dependencies {
       implementation('some-library') {
            exclude group: 'com.example.imgtools', module: 'native'
        }
    }
    

    在您的情况下,您必须从 com.google.android.exoplayer:exoplayer-core:2.9.6com.google.android.exoplayer:library-core:r2.10.4-cl-4d4f5be 中排除 com.google.android.exoplayer2.BasePlayer

    我从来没有使用过这个库,但是通过查看这个page,我认为你实现了同一个库两次,我建议你再检查一次。

    来源:https://developer.android.com/studio/build/dependencies#exclude_dependencies

    希望这会有所帮助! :)

    【讨论】:

    • 我尝试如下: implementation ('com.castlabs.player:castlabs-sdk:4.2.24'){ exclude group: 'com.google.android.exoplayer' } 但我是收到以下错误:错误:接口com.google.android.exoplayer2.drm.DrmSession(classpath class) 用作com.castlabs.android.player.CastlabsDrmSessionManager$DrmSessionWrapper 的超类。
    • 我尝试在google上搜索,不幸的是,我没有找到明确的答案,我建议你检查这个link和这个link
    • 尝试排除组:'com.google.android.exoplayer',模块:'exoplayer'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-26
    • 2017-12-26
    • 2021-06-11
    • 2021-07-31
    • 2020-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多