无法在 Flutter 应用中固定 Android 插件版本

Cannot pin Android plugin version in Flutter app

由于 firebase_auth 插件中的 the bug,我在 Crashlytics 中收到 Java 内存错误报告。所以我想将 firebase-auth Android 插件固定到 20.0.4 版本。

我将 classpath 'com.google.firebase:firebase-auth:20.0.4' 构建脚本依赖项添加到 android/build.gradle。我还在本地缓存的 Flutter 插件的 build.gradle 中用 implementation 'com.google.firebase:firebase-auth:20.0.4' 指定了 Android 插件版本(此处未指定版本)。

我也尝试了 Android project clean 和 Flutter clean。但是错误仍然存​​在,因为插件版本没有改变。我检查了我的 APK - 它有包含以下内容的 firebase-auth.properties 文件:

version=21.0.3
client=firebase-auth
firebase-auth_client=21.0.3

为什么它仍然是 21.0.3 以及如何更改它?

更新:

我试过向上分级到21.0.5并且它有效,但是向下分级不起作用。

问题是 firebase_core 正在使用 Firebase Android BoM,并且 BoM 版本指定所有 Firebase Android 包的版本。

我是通过 运行 从 android 目录中执行以下命令发现它的:

./gradlew app:dependencies

因此,在 Flutter 应用中固定 Firebase Auth Android 插件的正确方法是固定 firebase_core Flutter 插件。我将它固定到 1.13.1 并且它起作用了。还不得不降级 firebase_crashlytics 因为它无法用旧的 firebase_core.

编译