Flutter编译报错:bigLargeIcon方法引用歧义问题求助
解决flutter_local_notifications-9.9.1构建失败问题
一、搞定bigPictureStyle方法歧义报错
这个问题是插件内部调用bigLargeIcon(null)时,Android的BigPictureStyle类有两个重载方法(分别接受Bitmap和Icon类型参数),编译器分不清该用哪个。两种解决方式:
- 直接升级插件(推荐):把
pubspec.yaml里的flutter_local_notifications版本改成9.9.2及以上,官方已经修复了这个bug:
改完执行dependencies: flutter_local_notifications: ^9.9.2flutter pub get更新依赖。 - 临时改插件源码(不推荐):如果暂时没法升级,找到本地插件目录里的
BigPictureStyle.java文件,把bigLargeIcon(null)改成bigLargeIcon((Bitmap) null)或者bigLargeIcon((Icon) null),明确指定参数类型。
二、处理SDK XML版本兼容警告
一般是项目的SDK版本和插件要求不匹配导致的:
- 打开
android/app/build.gradle,把compileSdkVersion和targetSdkVersion统一设为较高版本(比如33或34):android { compileSdkVersion 34 defaultConfig { targetSdkVersion 34 } } - 检查
android/src/main/AndroidManifest.xml,如果有uses-sdk标签,确保里面的android:targetSdkVersion和build.gradle里的一致,或者直接删掉这个标签,让Gradle自动同步版本。
三、清理缓存重新构建
做完上面的修改后,执行以下命令彻底清理再构建:
flutter clean flutter pub get cd android && ./gradlew clean assembleDebug cd .. && flutter run
内容的提问来源于stack exchange,提问作者ABDULLATIF MUSSA kingaro
相关产品推荐
相关产品推荐

