项目场景:
主app , basicMvvm, childModule
主app:依赖basicMvvm模块,同时使用了ARouter;
basicMvvm: mvvm基本类,如BaseActivity, BaseViewModel等;
childModule:依赖basicMvvm模块,同时使用了ARouter;
参考解决链接:
1、使用databinding 运行项目报 程序包com.***databinding不存在
2、Error:(9, 49) 错误: 程序包databinding不存在
3、跟databinding发生冲突 #344—ARouter官方issue
4、项目引用Kotlin与databinding,ARouter,Architecture Components冲突解决办法
问题描述:
错误: 程序包com.xx.databinding不存在
参考以上解决:
1、是否在module gradle中添加了ARouter依赖配置? //arouter start
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
}
}
//arouter end
2、排查使用的修饰符配置是否一致?apt 和 annotationProcessor ,使用其中一个
//arouter start
implementation 'com.alibaba:arouter-api:1.5.0'
annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'
annotationProcessor 'com.alibaba:arouter-annotation:1.0.6'
//arouter end
3、排查@Autowired修饰符是否为 private?
这边直接贴别人的正确示例
错误示例:
@Autowired
private IUserModuleService iUserModuleService;
正确示例:
@Autowired
IUserModuleService iUserModuleService;
作者:一眼看穿了我
链接:https://www.jianshu.com/p/6429913eb1ee
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
解决方案:
最后排查,均不是以上问题,只是少了个配置;
//启用DataBinding
dataBinding {
enabled true
}
module中也必须要启用dataBinding。
非常幼稚的错误 - -!!!