Flutter项目引入firebase包出现JobIntentService弃用API报错如何解决
报错说明
你遇到的是安卓编译阶段的警告信息,翻译如下:
注意:C:\flutter.pub-cache\hosted\pub.dartlang.org\firebase_messaging-11.1.0\android\src\main\java\io\flutter\plugins\firebase\messaging\JobIntentService.java 使用或重写了一个已废弃的API。
注意:使用-Xlint:deprecation参数重新编译可以查看详细信息。
问题本质
这不是会导致编译失败的错误,属于版本兼容提示,是你当前使用的firebase_messaging 11.1.0版本的安卓原生代码,使用了安卓官方已经标记为废弃的JobIntentService接口,不会影响应用的正常运行和消息推送功能。
解决方案
- 方案一:升级firebase_messaging依赖(推荐)
官方在后续版本已经修复了这个废弃API的使用问题,你直接在项目的pubspec.yaml文件中将firebase_messaging的版本升级到最新稳定版即可:
修改后依次执行dependencies: flutter: sdk: flutter # 替换为当前pub.dev上的最新稳定版本即可 firebase_messaging: ^14.7.10flutter clean、flutter pub get,重新编译项目警告就会消失。 - 方案二:忽略编译警告
如果你暂时不想升级依赖,也可以直接忽略这个警告,不会对功能产生任何影响。如果想要彻底隐藏这个提示,可以在项目的android/app/build.gradle文件中添加lint过滤规则:android { // 保留你原有配置不变,新增以下lint配置 lintOptions { disable 'Deprecation' warning 'InvalidPackage' } } - 方案三:查看详细废弃信息(仅用于排查)
如果你需要确认具体的API废弃说明,可以在安卓编译参数中添加-Xlint:deprecation参数,重新编译后就能看到完整的废弃原因和替换方案,该操作仅用于排查问题,不会消除警告。
内容的提问来源于stack exchange,提问作者marwan steam
相关产品推荐
相关产品推荐

