Android集成Flutter模块时出现Binding报错,提示Cannot resolve symbol 'Binding'
问题原因及解决方法
Cannot resolve symbol 'Binding'报错的核心是Binding为Groovy语法包专属类,该报错通常由代码放置位置错误、Gradle语法不匹配或缺少导入声明导致,可按以下步骤排查解决:
- 确认代码放置位置
setBinding(new Binding([gradle:this]))这段代码属于旧版Flutter手动集成逻辑,必须写在*项目根目录的Groovy格式settings.gradle*文件中,不能放到app模块的build.gradle或其他Gradle配置文件内。如果你的项目用了Kotlin DSL(配置文件后缀为.gradle.kts),需要更换为Kotlin对应写法,不能直接使用Groovy语法的Binding。 - 补全导入声明
确认配置文件格式和位置无误后仍报错的,在settings.gradle文件最顶部添加导入语句即可:import groovy.lang.Binding - 适配新版集成规则
如果你使用的是Flutter 2.0及以上版本,不需要手动编写setBinding相关代码,旧手动集成逻辑已被废弃,直接通过Android Studio的File -> New -> Import Module选择本地Flutter模块即可自动完成配置。 - 清理缓存同步项目
配置修改完成后,执行Android Studio的File -> Invalidate Caches...清理缓存并重启IDE,再重新同步Gradle即可消除报错。
内容的提问来源于stack exchange,提问作者Sparrow
相关产品推荐
相关产品推荐

