Flutter 2.5.2编译时报app:checkDebugAarMetadata错误如何解决?
报错核心原因
你遇到的编译错误核心是依赖版本冲突:第三方依赖androidx.work:work-runtime:2.7.0-rc01要求最低编译SDK版本为31,但你当前项目配置的compileSdkVersion仅为30,版本不匹配导致编译失败。前面的video_player相关警告为通用提示,和本次报错无直接关联。
解决方案(按优先级排序)
方案1:升级项目compileSdk版本(最稳妥,无兼容隐患)
打开项目路径下的android/app/build.gradle文件,找到compileSdkVersion配置项,将数值从30修改为31即可,可同步将targetSdkVersion也调整为31,该配置仅提升编译版本,不会影响App对低版本安卓系统的兼容性。方案2:强制指定低版本work-runtime依赖(临时适配方案)
若暂时不想升级compileSdk版本,可通过Gradle配置强制锁定符合当前编译版本的依赖版本:
打开项目路径下的android/build.gradle文件,在allprojects代码块中添加如下配置:allprojects { repositories { // 原有仓库配置保持不变 } // 新增如下配置 configurations.all { resolutionStrategy { force 'androidx.work:work-runtime:2.6.0' } } }androidx.work:work-runtime:2.6.0的最低编译要求为30,可适配你当前的项目配置。方案3:升级第三方依赖插件
检查项目中使用的Flutter插件版本,将video_player等音视频、后台任务相关的插件升级到适配Flutter 2.5.x的最新稳定版本,新版插件大多已经修复了该依赖冲突问题。
后续操作
所有配置修改完成后,先执行flutter clean清除项目缓存,再重新执行编译命令即可。
内容的提问来源于stack exchange,提问作者Pratik Butani

