Android 如何确保所有firebase SDK都是兼容版本?

Android 如何确保所有firebase SDK都是兼容版本?,android,firebase,android-gradle-plugin,build.gradle,maven-bom,Android,Firebase,Android Gradle Plugin,Build.gradle,Maven Bom,目前我们有很多firebase版本 firebase_core_version = '16.0.6' firebase_perf_version = '16.2.2' firebase_messaging_version = '17.3.4' ... implementation "com.google.firebase:firebase-core:$firebase_core_version" implementation "com.google.firebase:firebase-perf

目前我们有很多firebase版本

firebase_core_version = '16.0.6'
firebase_perf_version = '16.2.2'
firebase_messaging_version = '17.3.4'
...

implementation "com.google.firebase:firebase-core:$firebase_core_version"
implementation "com.google.firebase:firebase-perf:$firebase_perf_version"
implementation "com.google.firebase:firebase-messaging:$firebase_messaging_version"
...
但它们都有不同的版本号,有时它们会发生冲突,或者通过传递包含解决为意外版本。或其他模块为同一库声明不同的版本。。。那偷走了我的时间

有什么解决方案吗?

Gradle具有5.0版提供的“BoM”功能。它使你从版本地狱中解脱出来

implementation platform('com.google.firebase:firebase-bom:20.0.1')
implementation 'com.google.firebase:firebase-perf'
implementation 'com.google.firebase:firebase-messaging'
implementation 'com.google.firebase:firebase-appindexing'
implementation 'com.google.firebase:firebase-config'
您可能会注意到,只有新的导入
firebase bom
具有版本,而任何其他库都没有版本

firebase_core_version = '16.0.6'
firebase_perf_version = '16.2.2'
firebase_messaging_version = '17.3.4'
...

implementation "com.google.firebase:firebase-core:$firebase_core_version"
implementation "com.google.firebase:firebase-perf:$firebase_perf_version"
implementation "com.google.firebase:firebase-messaging:$firebase_messaging_version"
...
这是因为BoM依赖项包含其中的所有firebase版本(当然它们是兼容的!)。
因此,您的模块始终导入
firebase bom
,然后版本冲突将消失

firebase bom
目前处于试验阶段,但对我来说很有效。

我希望androidx(jetpack)也有这个

还有一个可用的HTTP bom。