Несколько APK-файлов, упаковывающих одну и ту же библиотеку, могут вызвать ошибки времени выполнения только с одним динамическим модулем на AGP 4.0.1?

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

    [:search, :search] all package the same library [androidx.recyclerview:recyclerview].
    
    Multiple APKs packaging the same library can cause runtime errors.
    Placing each of the above libraries in its own dynamic feature and adding that
    feature as a dependency of modules requiring it will resolve this issue.
    Libraries that are always used together can be combined into a single feature
    module to be imported by their dependents. If a library is required by all
    feature modules it can be added to the base module instead.

Конечно, первое, что я сделал, - это исследовал людей, у которых была такая же проблема, и обнаружил:

1- Этот вопрос 2- Эта средняя статья

Оба представляют одно и то же решение (используйте Android Gradle Plugin 4.0), и мой проект использует AGP 4.0.1, но проблема в том, что у меня есть только один динамический модуль, называемый поиском. У меня нет других динамических модулей, даже более того, у меня нет зависимости RecyclerView: androidx.recyclerview:recyclerview в моем файле gradle поиска, так что это, возможно, транзитивная зависимость.

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

1-Перейдите к: PROJECT_NAME / имя_модуля (в моем случае: поиск) / build / intermediate /

а затем найдите файл deps.txt в этом каталоге, откройте файл, и вы увидите все зависимости вашего модуля, прямые и транзитивные

2- запустите задачу ./gradlew: module_name: dependencies

Если вы попытались удалить эту повторяющуюся строку: androidx.recyclerview:recyclerview из файла deps.txt, она будет генерироваться снова после каждой сборки.

При этом мне нужно какое-то правило в моем packagingOptions {}, например, exclude, чтобы предотвратить конфликт между search.aar и любым другим search.* форматом.

Кто-нибудь может помочь, пожалуйста?


person MR3YY    schedule 16.08.2020    source источник
comment
В моем случае Gradle выдает мне ошибку libraray `` implementation 'androidx.legacy: legacy-support-v4: 1.0.0' '`` Я удалил эту библиотеку в одном из функциональных модулей, проект синхронизации, это разрешает мои ошибка. удалите `` androidx.recyclerview: recyclerview '' из функционального модуля, надеюсь, ваша ошибка будет решена.   -  person Zeeshan Akhtar    schedule 25.02.2021


Ответы (1)


В моем случае я удалил нижеследующее из одного из модулей

Примечание: не из базового модуля

implementation 'androidx.legacy:legacy-support-v4:1.0.0'
person wise4rmgod    schedule 21.04.2021