运行flutter build apk时出现Registrar已弃用警告的问题求助
每次执行flutter build apk命令时,都会弹出如下警告:
:\Users\df\Desktop\flutter.pub-cache\hosted\pub.dartlang.org\app_settings-4.2.0\android\src\main\kotlin\com\example\appsettings\AppSettingsPlugin.kt:16:48: warning: 'Registrar' is deprecated. Deprecated in Java
import io.flutter.plugin.common.PluginRegistry.Registrar
^
这是因为你使用的app_settings 4.2.0版本依赖了Flutter已废弃的PluginRegistry.Registrar API,以下是几种解决办法:
升级插件版本
该插件的旧版本使用了过时的注册方式,直接升级到最新版本即可解决问题。执行命令:flutter pub upgrade app_settings新版本会适配Flutter的新插件注册机制,替换掉已废弃的
Registrar相关代码,彻底消除警告。临时屏蔽警告(不推荐)
如果暂时无法升级插件,可以在Android模块的build.gradle文件(路径通常为android/app/build.gradle)中添加规则屏蔽该警告。在android代码块内加入:lintOptions { disable 'DeprecatedRegistrar' }这种方法只是隐藏警告,并未解决根本问题,仅作为临时过渡方案。
手动修改插件代码(迫不得已时)
若插件长时间未更新,可手动修改本地缓存的插件代码。找到警告提示的AppSettingsPlugin.kt文件,将import io.flutter.plugin.common.PluginRegistry.Registrar替换为Flutter新的插件注册实现:- 修改插件类实现
FlutterPlugin接口 - 在
onAttachedToEngine方法中初始化方法通道并注册处理器 - 移除所有依赖
Registrar的代码
注意:手动修改后,后续执行flutter pub get可能会覆盖修改,需谨慎操作。
- 修改插件类实现
内容的提问来源于stack exchange,提问作者Albert Tetteh Adjei

