Модули 'base' и 'player' содержат запись 'res / layout / exo_playback_control_view. xml' с различным содержанием - PullRequest
0 голосов
/ 18 марта 2020

Я работаю в приложении с несколькими модулями Dynami c.

Чтобы добавить функцию загрузки видео в мое приложение, мне нужно добавить зависимость пользовательского интерфейса ExoPlayer (com.google.android.exoplayer:exoplayer-ui:2.11.1) к моему базовый модуль. Поскольку у меня уже есть эта зависимость в моем модуле player , у меня появляется это сообщение об ошибке компиляции:

Модули 'base' и 'player' содержат запись 'res / layout /exo_playback_control_view.xml 'с другим содержимым.

Поскольку я не могу переименовать сгенерированный ExoPlayer файл макета, я попытался извлечь этот файл из моего модуль base , так как он мне нужен только в моем модуле player .

Пока я пробовал:

sourceSets {
        main.res.srcDirs += 'src/main/res'

        main {
            res {
                exclude 'res/layout/exo_playback_control_view.xml'
                exclude 'layout/exo_playback_control_view.xml'
                exclude 'exo_playback_control_view.xml'
                exclude 'library/ui/src/main/res/layout/exo_playback_control_view.xml'
            }
        }
    }

и

packagingOptions {
        exclude 'res/layout/exo_playback_control_view.xml'
        exclude 'layout/exo_playback_control_view.xml'
        exclude 'exo_playback_control_view.xml'
        exclude 'library/ui/src/main/res/layout/exo_playback_control_view.xml'
    }

Любая из этих работ. Мне не нравится Gradle, как вы, наверное, видите.

Я также открыл проблему в репозитории ExoPlayer Github.

У кого-нибудь есть другая идея, чтобы избежать этой ошибки компиляции?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...