Android Studio 3.1.0升级后DataBinding生成失败求助
解决Android Studio 3.1.0升级后DataBinding编译错误的方案
嘿,我之前升级AS到3.1.x版本时也碰到过类似的DataBinding编译问题,给你几个亲测有效的解决思路,按顺序试试:
- 先做最基础的清理重建:直接点击顶部菜单栏的
Build > Clean Project,等清理完成后再执行Build > Rebuild Project。很多时候是升级后生成的DataBinding缓存类出了问题,清掉重新生成就解决了。 - 检查DataBinding的开启配置:确认你app模块的
build.gradle里正确开启了DataBinding,注意大小写别写错:android { ... dataBinding { enabled = true } } - 排查对应布局文件的表达式错误:错误提示指向
GridItemActivityTypeBinding.java,那对应的布局文件(应该是grid_item_activity_type.xml)里大概率有问题。仔细检查:<variable>标签里的类型、变量名是否正确@{...}绑定表达式里有没有引用不存在的字段、方法,或者类型不匹配的情况
- 确认Gradle插件版本匹配:AS 3.1.0对应的Gradle插件版本应该是3.1.0,检查项目根目录的
build.gradle里的classpath配置:
你已经把Gradle升级到4.4了,这个版本搭配是没问题的,但要确保插件版本没写错。dependencies { classpath 'com.android.tools.build:gradle:3.1.0' // 其他依赖... } - 手动删除生成的DataBinding类:如果Clean没清干净,你可以手动找到
app/build/generated/source/dataBinding目录,删掉里面的baseClasses相关文件夹,然后重新编译项目。 - 检查第三方库的兼容性:如果项目里有用到带DataBinding的第三方库,试试把这些库升级到最新稳定版,或者暂时注释掉某个库,排查是不是库的版本兼容问题导致的。
你的错误信息参考:
/Users/mp/Documents/GitHub/projectx/app/build/generated/source/dataBinding/baseClasses/Staging/debug/me/projectx/asdasd/databinding/GridItemActivityTypeBinding.java:57: error: cannot find symb...
内容的提问来源于stack exchange,提问作者Marian Pavel
相关产品推荐
相关产品推荐

