【发布时间】:2015-10-09 10:09:34
【问题描述】:
在我目前从事的一个项目中,我遇到了一些与 Dagger 2 相关的未经检查的警告。
为了排除项目相关因素,我尝试编译 GitHub 上提供的 Dagger 2 示例,它们也会导致这些未经检查的警告。见下文。
/MY_DIRECTORY/../DaggerApplicationComponent.java:28:警告: [unchecked] 未经检查的转换
this.demoApplicationMembersInjector = DemoApplication_MembersInjector.create((MembersInjector) MembersInjectors.noOp(), provideLocationManagerProvider);
必填:MembersInjector
<Application>找到:MembersInjector
显然 create 方法需要 MembersInjector<Application> 但 Dagger 2 默认将传递的对象转换为 MembersInjector。
我想修复这些问题,以便日志保持干净并且构建服务器再次编译项目。
我正在使用的一些设置:
- 针对 Android 版本 23 进行编译
- 匕首版本 2.0.1
- Dagger 编译器版本 2.0.1
- Javax注解jsr250-api 1.0版
【问题讨论】:
-
谢谢!解决了它!
-
实际的解决方案是什么...是获取最新的 dagger2 还是自己抑制警告? (如果我们自己压制警告,我们该怎么做?)谢谢。
-
最好在这里发布您的解决方案,而不是“谢谢!修复它!”
标签: java android lint dagger-2 unchecked