启用View Binding遇超类型访问错误,需排查模块类路径依赖问题
解决View Binding无法访问奇怪命名超类型的问题
你遇到的这个no_name_in_PSI_3d19d79d_1ba9_4cd0_b7f5_b46aa3cd5d40超类型访问错误,是View Binding生成代码时的典型异常,通常和布局文件问题、构建缓存冲突或者依赖不一致有关,下面是几个针对性的解决方案:
1. 检查目标布局文件的语法错误
错误指向的ActivityStartingBinding对应布局文件是activity_starting.xml,View Binding完全依赖布局文件生成绑定类,一旦布局存在语法问题,生成的代码就会出现这种异常:
- 打开
activity_starting.xml,仔细检查所有XML标签是否闭合 - 确认
android:id、自定义控件包名等属性拼写和引用正确 - 排查是否使用了不合法的根标签(比如Activity布局用
<merge>作为根标签,这只允许在被<include>引用的布局中使用)
2. 清理构建缓存并重新构建
Android Studio的构建缓存偶尔会损坏生成的绑定类文件,按以下步骤操作:
- 点击顶部菜单栏
Build→Clean Project - 完成后点击
Build→Rebuild Project - 如果问题仍存在,尝试
File→Invalidate Caches...,选择Invalidate and Restart,重启后再重新构建项目
3. 统一AndroidX依赖版本
确保项目中所有AndroidX相关依赖的版本与compileSdkVersion 29匹配,避免依赖冲突导致代码生成异常,比如:
dependencies { implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' // 其他依赖保持版本一致 }
4. 检查多资源目录下的同名布局
如果你的项目在layout、layout-land等不同资源目录下有同名的activity_starting.xml,要确保所有这些布局文件都没有语法错误,否则也会导致生成的Binding类出现异常。
内容的提问来源于stack exchange,提问作者Kevin ABRIOUX
相关产品推荐
相关产品推荐

