Android移动layout文件后报fragment标签无效IllegalArgumentException如何解决
解决方案
你遇到的是DataBinding生成的映射文件和实际布局结构不匹配导致的异常,可按以下步骤依次尝试:
- 手动删除本地构建缓存:关闭Android Studio后,删除项目根目录下的
.gradle、build文件夹,再进入app模块目录删除内部的build文件夹,重启Android Studio等待索引完成后重新构建 - 校验多布局一致性:检查所有同名布局(不同配置限定符目录下的fragment_xxx.xml)的
<layout>标签内部定义,确保所有variable、import声明完全一致,同时排查是否存在大小写不同的同名布局文件 - 临时禁用Gradle构建缓存:在项目根目录的
gradle.properties文件中添加org.gradle.caching=false,再执行clean + rebuild操作,验证问题是否解决,验证完成后可恢复原有配置 - 手动删除绑定类生成文件:进入
app/build/generated/source/kapt(Kotlin项目)或app/build/generated/source/apt(Java项目)目录,删除和报错相关的FragmentXXXBinding系列生成文件,再重新构建 - 清理全局Gradle缓存:如果上述操作均无效,删除用户目录下的
.gradle/caches全局缓存文件夹,再重新构建项目
内容的提问来源于stack exchange,提问作者jvoyatz
相关产品推荐
相关产品推荐

