Android项目连接Firebase出现ActivityLoginBinding类声明报错问题
问题原因与解决方案
该报错本质是Java基础规范要求:public 修饰的类名必须与所在.java文件名完全一致。由于ActivityLoginBinding是ViewBinding自动生成的类,正常构建不会触发该错误,你是接入Firebase后触发,可按以下步骤依次排查:
- 第一步:清理构建缓存
打开Android Studio → 点击顶部菜单栏File → Invalidate Caches...→ 勾选Clear file system cache and local history→ 点击Invalidate and Restart,重启后重新构建项目,大部分缓存冲突导致的生成类异常都可以通过该步骤解决。 - 第二步:检查ViewBinding配置
确认模块级build.gradle中ViewBinding开启配置正确,且没有手动修改过build/generated目录下的自动生成代码:android { // 其余配置保持不变 buildFeatures { viewBinding true } } - 第三步:检查Firebase插件配置
该问题多由接入Firebase时插件顺序或版本冲突导致:- 确认项目级
build.gradle中引入的com.google.gms:google-services为官方最新稳定版 - 确认模块级
build.gradle文件末尾才添加id 'com.google.gms.google-services'插件,不要将该插件放在Android配置块之前。
- 确认项目级
- 第四步:检查布局文件命名
ViewBinding生成类名由布局文件名驼峰转换后加Binding后缀生成,若你的登录页布局文件名不是全小写下划线分隔的activity_login.xml,存在大小写混合的情况,也会触发该报错,将布局文件名调整为规范的全小写下划线命名即可。
原始报错信息:
class ActivityLoginBinding is public, should be declared in a file named ActivityLoginBinding.java
内容的提问来源于stack exchange,提问作者Raffy01
相关产品推荐
相关产品推荐

