可正常适配Firebase的最新稳定版Flutter构建版本咨询
提问背景
我正尝试为应用接入Firebase身份验证功能,已按照Firebase与应用的关联流程完成了接入操作,推进到指引的4.6步骤、安装好Firebase插件尝试运行应用时,出现如下编译提示:
Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-1.0.2\android\src\main\java\io\flutter\plugins\firebase\core\FlutterFirebaseCorePlugin.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_analytics-7.1.1\android\src\main\java\io\flutter\plugins\firebaseanalytics\FirebaseAnalyticsPlugin.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-1.0.1\android\src\main\java\io\flutter\plugins\firebase\auth\FlutterFirebaseAuthPlugin.java uses or overrides a depre
根据初步判断,需要等待Firebase团队更新对应插件,才能将这些插件与最新版本的Flutter搭配使用;当前本地使用的Flutter版本信息如下:
Flutter 2.0.2 • channel stable • https://github.com/flutter/flutter.git Framework • revision 8962f6dc68 (2 weeks ago) • 2021-03-11 13:22:20 -0800 Engine • revision 5d8bf811b3 Tools • Dart 2.12.1
核心疑问:
- 可正常兼容对应Firebase API的最新Flutter稳定构建版本是哪一个
- 上述弃用API相关的提示不会阻断构建完成,但如果尝试接入应用内商店类插件,就会直接导致构建脚本崩溃
- 后续会自行排查可兼容的Flutter稳定版本,找到适配版本后会同步更新相关内容
问题解答
- 日志中打印的几行
uses or overrides a deprecated API属于Android编译流程的常规警告,触发原因是插件内置的Java代码调用了已被Android SDK标记为弃用的接口,这类警告完全不会阻断构建流程,也不会影响Firebase相关功能的正常运行,不需要等待Firebase团队发布版本消除提示。 - 对应时间节点,和1.0.x版本的Firebase系列插件完全兼容的最高Flutter稳定版就是2.0.2,不存在需要降级Flutter才能适配的情况。
- 接入应用内商店类插件时触发构建崩溃的问题,和上述弃用提示无关联,核心是Flutter 2.0.2版本默认的Gradle配置和部分插件的内置配置存在版本错配,可通过以下方式修复:
- 调整项目Android目录下的
gradle-wrapper.properties文件,将Gradle版本设置为6.7以上 - 调整项目根目录的
build.gradle文件,将Android Gradle插件版本设置为4.1.0以上 - 项目内所有Flutter插件版本保持同期匹配,不要跨大版本单独升级某一个插件,避免出现依赖冲突
- 调整项目Android目录下的
- 如果需要进一步排查版本兼容性,可通过切换Flutter版本分支的方式,逐一验证不同稳定版和当前依赖插件的编译适配情况。
内容的提问来源于stack exchange,提问作者A. Dumais
相关产品推荐
相关产品推荐

