Flutter使用VS Code构建appbundle时Android资源链接失败如何解决
问题根因
你遇到的构建报错核心原因是依赖的com.google.android.material:material:1.5.0-alpha05为适配Android 12(API Level 31)的预览版本,内置了仅API31支持的系统颜色资源,你当前项目配置的compileSdkVersion为30,无法识别这些API31新增的专属资源,因此触发资源链接失败报错。
疑问解答
- 多版本Android SDK共存不会导致该问题,无需删除已安装的SDK版本,该报错和本地SDK多版本无关。
- values-v31目录确实对应API31专属资源,但你无需强制安装API31的SDK,通过调整依赖版本即可解决问题。
修复方案(无需安装API31)
- 降级Material依赖版本
打开你的android/app/build.gradle文件,找到dependencies代码块,将:
implementation 'com.google.android.material:material:1.5.0-alpha05'
替换为适配API30的稳定版本:
implementation 'com.google.android.material:material:1.4.0'
- 清理缓存重新构建
在VS Code终端依次执行以下命令:
- 清理项目缓存:
flutter clean - 重新构建appbundle:
flutter build appbundle
如果后续磁盘空间充足想要使用1.5.x及更高版本的Material组件,再将compileSdkVersion和targetSdkVersion都修改为31,同时安装API31的Android SDK即可。
内容的提问来源于stack exchange,提问作者Nick Schepers
相关产品推荐
相关产品推荐

