java – 匕首2麻烦@注入FirebaseMessagingService

我最近试图将我正在从GCM工作的应用程序迁移到FCM.在这样做的时候,我发现我以前在Dagger 2(2.0.2)中提供了我的Retrofit API和服务中的其他用户数据管理器的实例(没有问题),所以我不能再这样做了FirebaseMessagingService.

每当我尝试用我的Dagger 2 Component界面中列出的FirebaseMessagingService子类编译时,我会得到一个IllegalArgumentException.在挖掘一些代码之后,当Dagger 2尝试验证一个名称并发现第一个字母不是大写时,似乎抛出了异常. FirebaseMessagingService至少在我的最后,继承了一个uglified / minified代码库,它的直接超类是zzb(public class FirebaseMessagingService extends com.google.firebase.iid.zzb).

我最好的猜测是这是罪魁祸首.如果这真的是问题,那么现在我不知道该怎么做,除了坚持GCM.任何人都有任何想法或类似的经验吗?

编辑:有机会问一个Firebase开发者关于这个问题:https://www.reddit.com/r/androiddev/comments/4upj1o/beware_of_the_new_firebase/d5tdbk3 – 没有决议.我可能只是避免直接注入并整合到静态API提供程序.

解决方法

经过半天的斗争,终于搬到了匕首2.7修正了问题.
compile "com.google.dagger:dagger:2.7"
apt "com.google.dagger:dagger-compiler:2.7"

相关文章

应用场景 C端用户提交工单、工单创建完成之后、会发布一条工...
线程类,设置有一个公共资源 package cn.org.chris.concurre...
Java中的数字(带有0前缀和字符串)
在Java 9中使用JLink的目的是什么?
Java Stream API Filter(过滤器)
在Java中找到正数和负数数组元素的数量