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