В моем проекте есть только один динамический функциональный модуль, называемый поиском, но когда я пытаюсь создать проект, я получаю эту ошибку:
[: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.*
форматом.
Кто-нибудь может помочь, пожалуйста?