我定义了3个变体:dev,qa,release
dev/qa have applicationIDSuffix '.dev'release has no suffix
Google-services.Json文件正确定义了两个软件包名称,我读到Google-services插件在构建过程中会自动读取它.
当我启动dev变体时,一切正常.但之后如果我切换到发布变体并尝试启动该应用程序只是挂起给出以下跟踪:
ANR in xxx
Reason: broadcast of Intent { act=com.Google.firebase.INSTANCE_ID_EVENT flg=0x14 cmp=xxx/com.Google.firebase.iID.FirebaseInstanceIDInternalReceiver (has extras) }
Dev变体总是起作用,但是staging变量也会在开始时挂起.
可能的相关问题:
Application not responding after adding Firebase
注意:我也测试了调试变体与完全相同的配置阶段变量已经有效.所以Gradle做了一些不同的调试变体,因为没有问题.
任何想法如何解决这一问题?这是因为AndroID Studio还是gradle中的一些错误配置?在构建应用程序时,同事从未见过这个问题.
我也试图删除androID studio并重新安装它,也删除了项目并再次拉动源,但错误仍然发生在我的笔记本电脑上.
谢谢.
注意:我重新启动了我的笔记本电脑,并从终端运行清洁组装,现在所有的变种似乎都有效.我注意到有时直接从AndroID工作室构建时,似乎应用程序有点开始,然后它被删除,然后导致FCM接收器挂起,因为应用程序刚被删除.这是AndroID工作室的一些配置吗?
结论
没有找到导致这种情况的AndroID Studio / Laptop / Gradle设置的实际原因,但是如果遇到同样的问题.尝试重新启动计算机,重新克隆应用程序项目可能会有所帮助,同时使用干净选项从命令行构建变体也可以帮助而不是使用AndroID studio构建它.
解决方法 确保您在清单文件中实现了这两项服务.<service androID:name="com.test.notification.MyFirebaseMessagingService"> <intent-filter> <action androID:name="com.Google.firebase.MESSAGING_EVENT" /> </intent-filter> </service> <service androID:name="com.test.notification.MyFirebaseInstanceIDService"> <intent-filter> <action androID:name="com.Google.firebase.INSTANCE_ID_EVENT" /> </intent-filter> </service>总结
以上是内存溢出为你收集整理的android – ANR与FCM和使用applicationIdSuffix构建变体全部内容,希望文章能够帮你解决android – ANR与FCM和使用applicationIdSuffix构建变体所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)