如何保留不同版本的 Firebase?

Posted

技术标签:

【中文标题】如何保留不同版本的 Firebase?【英文标题】:How to keep different versions of Firebase? 【发布时间】:2019-11-08 05:51:40 【问题描述】:

我需要在项目中使用一组不同的 firebase 库。但我收到以下错误:

Unable to resolve dependency for ':@debug/compileClasspath': Could not resolve com.android.support:support-v13:28.0.0.
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.google.android.gms:play-services-auth:17.0.0'
implementation 'com.google.android.gms:play-services-plus:17.0.0'
implementation 'com.google.firebase:firebase-core:17.0.0'
implementation 'com.google.firebase:firebase-auth:18.0.0'
implementation 'com.google.firebase:firebase-messaging:19.0.0'
// Add dependency
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
implementation 'com.google.firebase:firebase-iid:19.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.facebook.android:facebook-android-sdk:4.34.0'
implementation 'com.google.firebase:firebase-crash:16.2.1'

【问题讨论】:

为什么需要使用不同版本的firebase?无论出于何种原因,您都可以为使用不同依赖项的项目添加不同的 flavors。 @tomerpacific bcz 我想使用所有库的最新版本。 【参考方案1】:

如果你想使用最新的版本,那么你可以使用firebase BoM,在build.gradle,写下如下:

dependencies 
  // Import the platform
  implementation platform('com.google.firebase:firebase-bom:20.0.1')

  // When using a BoM, dependencies don't require a specified version
  // If you do specify a version, it overrides the library version specified in the BoM
  implementation 'com.google.firebase:firebase-core'
  implementation 'com.google.firebase:firebase-auth'
  implementation 'com.google.firebase:firebase-firestore'

com.google.firebase:firebase-bom:20.0.1 将包含所有 firebase 库的最新版本,然后要使用每个特定的库,您可以像往常一样添加它们,但没有版本。

参考资料:

https://firebase.google.com/docs/android/setup#firebase-bom

【讨论】:

以上是关于如何保留不同版本的 Firebase?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 GCM 3.0 为我的 android 应用程序保留不同的配置

你如何以不同的用户提交代码?

在 GitHub 中维护多个不同版本的最佳方式

WSO2:如何在每个浏览器选项卡中保留不同的会话

我可以在 android 中使用两个不同版本的 Google Play Api 吗?

如何在 Firebase 中验证休息呼叫?