Я думаю, что может быть две причины:
1) Когда вы наводите курсор мыши на ошибку, она, вероятно, скажет вам, какая библиотека имеет неправильную версию, и, возможно, она даже не присутствует в ваших зависимостях, но, вероятно, одна из ваших библиотек использует ее внутренне, поэтому вам нужно указать их отдельно с той же версией.
2) Или это может быть связано с тем, что одна из библиотек (вероятно, firebase) скомпилирована с другой версией библиотеки поддержки, и это вызывает конфликт. Таким образом, ваши библиотеки поддержки должны соответствовать библиотеке поддержки, с которой скомпилирована firebase. Например, посмотрите, как Glide объясняет это здесь :
Версия библиотеки поддержки - Glide использует библиотеку поддержки версии 27.
Если вам нужна или вы предпочитаете использовать другую версию библиотеки поддержки, вам следует исключить «com.android.support» из зависимости Glide в файле build.gradle.
Итак, чтобы проверить, удалите ли вы зависимость от firebase, она, вероятно, будет построена. Если это так, то вам нужно проверить, с какой версией скомпилирована ваша версия firebase, и использовать ее.