【问题标题】:Dagger 2 unchecked warningsDagger 2 未经检查的警告
【发布时间】: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


【解决方案1】:

我尝试将 Dagger 升级到最新版本2.19,问题已经解决。

查看更多:https://github.com/google/dagger/releases

【讨论】:

    【解决方案2】:

    使用

    @SuppressWarnings("unchecked")
    

    为你的组件类

    这对我有用

    【讨论】:

      猜你喜欢
      • 2015-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多