Flutter更新后构建失败求助:未用flutter_mailer却报资源错误
解决Flutter更新后
:flutter_mailer:verifyReleaseResources构建失败问题 问题原因
你未直接依赖flutter_mailer,但项目中某个第三方包间接引入了它。旧版本的flutter_mailer未适配Android API 31(Android 12)新增的android:attr/lStar属性,而你的项目使用Android SDK 33,导致资源链接阶段出现属性缺失错误。
解决方案
1. 定位间接依赖来源
执行命令查看完整依赖树,确认哪个包引入了flutter_mailer:
flutter pub deps
2. 强制统一所有模块的SDK版本
在项目根目录的android/build.gradle文件中,添加subprojects配置,强制所有依赖模块使用与你项目一致的SDK版本:
allprojects { repositories { google() mavenCentral() } // 新增以下配置 subprojects { afterEvaluate { project -> if (project.hasProperty('android')) { android { compileSdkVersion 33 defaultConfig { targetSdkVersion 33 } } } } } }
3. 强制升级flutter_mailer到兼容版本
在pubspec.yaml中添加dependency_overrides,指定flutter_mailer的最新兼容版本(可查看pub.dev获取最新稳定版):
dependency_overrides: flutter_mailer: ^2.1.1 # 替换为最新兼容版本
4. 适配Gradle配置至Flutter 3.24.0
确保android/build.gradle中的Gradle插件版本和Kotlin版本适配:
buildscript { ext.kotlin_version = '1.9.0' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:8.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
同时确认android/gradle/wrapper/gradle-wrapper.properties中的Gradle版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
5. 清理缓存并重新构建
执行以下命令完成清理与重建:
flutter clean flutter pub get flutter build apk --release
内容的提问来源于stack exchange,提问作者Dmitry Z
相关产品推荐
相关产品推荐

