我最近试图将我正在从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"

java – 匕首2麻烦@注入FirebaseMessagingService的更多相关文章

  1. 如何使用Firebase在iOS上验证用户的电子邮件地址?

    我坚持使用firebase进行电子邮件验证.我四处寻找指导但没有帮助.在用户验证他的电子邮件后,我的代码仍然打印出用户尚未验证.我还在尝试习惯firebase的语法.这是我的代码:这是我注册部分的代码:解决方法您在签名之前检查了用户电子邮件是否已经过验证.这对我有用.

  2. ios – 1天后firebase crashlytics报告中没有数据

    解决方法对于那些仍然有问题的人.检查您的podfile中是否还有pod’Firebase/Crash’.当我删除旧的Firebase崩溃报告时,我的问题已修复.

  3. ios – Swift Firebase安全无法正常工作

    正如@M_G建议的那样,我从父母和.read中取出了.write.所以我的规则现在是:我现在得到这个输出:解决方法Firebase文档错误(暂时).在Firebase控制台中,打开规则模拟器.目前没有“密码”选项,我认为这是一个错误.如果您没有使用多个身份验证或多个身份验证在您的项目中无关紧要,请不要在您的规则中使用提供程序.否则,您可以测试此规则以进行密码验证:

  4. ios – Firebase:我应该将GoogleService-Info.plist添加到.gitignore吗?

    我正在将Firebase用于我想要开源的iOS项目.我上传之前是否应该将GoogleService-Info.plist添加到.gitignore我在Github上共享项目?我知道它包含我的API密钥,客户端ID等,这可能不安全公开?

  5. ios – Firebase动态链接中的customURLScheme是什么?

    在documentation中它说要将以下行添加到我的AppDelegate.swift:根据我的理解,这应该是您在info.plist中添加的相同链接.但是,我很困惑为什么在quickstart-iosrepo他们决定将其等同于“dlscheme”.任何人都可以帮我理解这个方案究竟是什么?

  6. FIrebase iOS集成崩溃 – 由无效的GOOGLE_APP_ID引起

    我正在尝试使用Xcode构建集成Firebase来构建我的Cordova应用程序,但是我得到了这个模糊的错误,我无法理解什么是错的.我已将GoogleService-Info.plist文件放在项目目录中,但仍无法构建.这是堆栈跟踪可能是什么问题,我不知道还有什么需要展示,所以请问.解决方法出于某种原因,Xcode始终忽略位于项目根目录中的GoogleService-Info.plist,并且未将其复制到项目的Resources文件夹中.我在那里手动复制文件,然后编译应用程序并运行得很好.

  7. 使用Firebase iOS Swift将特定设备的通知推送到特定设备

    我非常感谢PushNotifications的帮助.我的应用聊天,用户可以直接向对方发送短信.但是如果没有PushNotifications,它就没有多大意义.它全部设置在Firebase上.如何将推送通知从特定设备发送到特定设备?

  8. ios – Firebase Swift – 如何创建子项并将其id添加到另一个ref属性?

    如here所述,我想将Book对象存储在单独的ref中,并将其id值存储在User的books属性中每当我在应用程序中添加一本书时book对象是在Booksref中创建的,但我想立即将其id添加到User的用户书籍数组中.可以用一些漂亮的方式完成,而不是查询书籍,检索它的ID并将其添加到数组中吗?如果不是,查询刚刚创建的对象id的正确方法是什么?也许我不应该使用AutoId模式并在应用程序中为自己创建每个对象的唯一ID?解决方法您可以通过以下方式获取childByAutoId创建的密钥:

  9. ios – 默认应用尚未配置

    我试图将我的应用程序升级到新版本的Firebase.我浏览了设置指南,并编辑了我的所有代码以匹配新的语法.但是,当我运行应用程序时,我会收到这两个错误.我在AppDelegate中有FIRApp.configure(),并将GoogleServices-Info.plist导入到我的项目中.plist也有所有正确的信息.任何人遇到这个或知道如何解决它?

  10. ios – Firebase – 删除和重新安装应用程序不会取消对用户进行身份验证

    在使用以下代码验证用户之后….如果您随后删除该应用程序并将其重新安装在同一台设备上,则该调用将始终返回他们登录.这是为什么?

随机推荐

  1. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  3. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  4. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  5. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  6. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  7. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  8. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  9. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. Spring JdbcTemplate执行数据库操作详解

    JdbcTemplate是Spring框架自带的对JDBC操作的封装,目的是提供统一的模板方法使对数据库的操作更加方便、友好,效率也不错,这篇文章主要介绍了Spring JdbcTemplate执行数据库操作,需要的朋友可以参考下

返回
顶部