-1

目前我们有很多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"
...

但是它们每个都有不同的版本号,有时它们会发生冲突或通过传递包含解决到意外版本。或者其他模块为同一个库声明了不同的版本......这占用了我的时间。

有什么解决方案吗?

4

1 回答 1

2

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有版本,而任何其他库都没有版本。

这是因为 BoM 依赖项包含其中的所有 firebase 版本(当然它们是兼容的!)。
所以你的模块总是导入firebase-bom然后版本冲突就会消失。

firebase-bom目前是实验性的,但它对我有用。 https://firebase.google.com/docs/android/setup#firebase-bom

我希望androidx(jetpack)也有这个!

还有 okhttp-bom 可用。 https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp-bom

于 2019-06-24T10:31:45.373 回答