Проблема дублирования зависимостей Android во флаттере

Я интегрирую собственный видеоплеер для Android (видеоплеер castlabs) в свой проект flutter для поддержки DRM в собственном Android. Я уже использую плагин video_player flutter для воспроизведения некоторых видео в фоновом режиме. Оба этих игрока используют 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).

Спасибо.




Ответы (1)


эта проблема возникает, когда две библиотеки имеют один и тот же класс, вы можете легко решить эту проблему, исключив класс, вызывающий проблему, из одной из библиотек, например:

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

В вашем случае вам придется исключить com.google.android.exoplayer2.BasePlayer из com.google.android.exoplayer:exoplayer-core:2.9.6 или com.google.android.exoplayer:library-core:r2.10.4-cl-4d4f5be

Я никогда не использовал эту библиотеку, но, глядя на эту страницу, я думаю, что вы реализуете ту же библиотеку дважды, я предлагаю вам проверить это еще раз.

Источник: https://developer.android.com/studio/build/dependencies#exclude_dependencies < / а>

Надеюсь это поможет! :)

person UnBanned    schedule 07.04.2020