执行flutter build apk --release时遭遇flutter_local_notifications编译错误
解决flutter_local_notifications编译时bigLargeIcon方法歧义错误
问题分析
执行flutter build apk --release时触发编译错误,核心原因是flutter_local_notifications-16.3.3的Android代码中,调用bigPictureStyle.bigLargeIcon(null);时,Android SDK的BigPictureStyle类存在两个重载方法(分别接收Bitmap和Icon类型参数),传入null会导致编译器无法确定调用哪个方法,产生歧义。
解决方案
方案1:升级插件版本
该问题已在flutter_local_notifications的16.3.4版本中修复,直接修改pubspec.yaml中的插件版本:
flutter_local_notifications: ^16.3.4
然后执行以下命令重新构建:
flutter pub get flutter clean flutter build apk --release
方案2:手动修改缓存代码(临时方案)
如果暂时无法升级,可直接修改本地缓存的插件代码:
- 找到报错文件:
AppData\Local\Pub\Cache\hosted\pub.dev\flutter_local_notifications-16.3.3\android\src\main\java\com\dexterous\flutterlocalnotifications\FlutterLocalNotificationsPlugin.java - 定位到第1033行,将
bigPictureStyle.bigLargeIcon(null);修改为:bigPictureStyle.bigLargeIcon((Bitmap) null); - 保存后重新执行
flutter build apk --release
方案3:清除缓存后重试
执行以下命令清除构建缓存,再重新尝试编译:
flutter clean flutter pub get flutter build apk --release
内容的提问来源于stack exchange,提问作者Nikhil Prasai
相关产品推荐
相关产品推荐

