Реализация нескольких версий библиотеки с Gradle - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть две библиотеки, каждая из которых включает отдельную версию com.android.billingclient:billing;1.2.2 и 2.0.3

Мне нужно использовать обе библиотеки в моем проекте, и если я заставлю использовать одну, одна из обеих библиотек больше не будет компилироваться.

Как я могу использовать обе версии com.android.billingclient:billing в моем проекте, чтобы они не конфликтовали друг с другом?

1 Ответ

0 голосов
/ 05 ноября 2019

Ключевая фраза в поиске решения вашей проблемы: transitive dependency. Если в вашем проекте есть 2 зависимости, каждая из которых имеет подчиненную зависимость (транзитивную зависимость) от одной и той же библиотеки, но каждая использует разные версии этой библиотеки, вам нужно будет сказать одной из них не импортировать эту зависимость.

Проверьте обсуждение этого вопроса на форумах Gradle, я думаю, что оно решает вашу проблему. Он описывает, как сказать объявленной вами зависимости, чтобы она не импортировала необходимую ей автоматически, и вместо этого будет полагаться на то, что вы явно объявите зависимость или полагаетесь на то, что зависимость импортируется транзитивно:

Как исключитьпереходные зависимости чего-то, от чего я зависел

...