使用Hilt+Room+MVVM开发Todo应用时出现Build自动生成文件不可编辑错误
错误原因解析
这个错误的核心逻辑很清晰,结合你提供的自动生成类AppModule_InjectRoomDatabaseFactory,常见原因有以下几种:
手动编辑了自动生成文件:
这个类是Hilt注解处理器在编译阶段自动生成的,存放于build目录下(通常是build/generated/source/kapt/debug这类路径)。文件顶部的@Generated注解已经明确标注它由工具维护,绝对不能手动修改。只要你(或者误操作的IDE插件)改动了该文件的任何内容,编译时Hilt就会检测到文件被篡改,抛出这个提示。编译缓存异常:
如果你确定没有手动修改过文件,那大概率是Android Studio的编译缓存或Hilt注解处理器的缓存出了问题。比如之前编译残留的旧生成文件与当前代码不匹配,导致IDE误判文件被修改。自定义AppModule存在代码问题:
你自己编写的AppModule中的injectRoomDatabase方法可能存在注解错误、参数/返回值签名不符等问题,导致Hilt生成的Factory类逻辑异常。此时若你试图通过修改自动生成文件来修复问题,就会触发这个错误。
内容的提问来源于stack exchange,提问作者NewPartizal
相关产品推荐
相关产品推荐

