gpt4 book ai didi

android - 使用 FCM 进行 ANR 并使用 applicationIdSuffix 构建变体

转载 作者:太空宇宙 更新时间:2023-11-03 11:00:55 26 4
gpt4 key购买 nike

我对构建变体和 FCM 有疑问。

我定义了 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并重新安装它,也删除了项目并再次拉取源,但我的笔记本电脑仍然出现错误。

谢谢。

注意:我重新启动了我的笔记本电脑,并从终端运行 clean assemble,所有变体现在似乎都可以工作。我注意到,有时当直接从 Android Studio 构建时,应用程序似乎有点开始部分,然后它被删除,然后导致 FCM 接收器挂起,因为应用程序刚刚被删除。这是Android studio的一些配置吗?

结论

没有找到导致此问题的我的 Android Studio/Laptop/Gradle 设置的实际原因,但如果您遇到同样的问题。尝试重新启动您的计算机,重新克隆应用程序项目可能会有所帮助,使用干净选项从命令行构建变体也有帮助,而不是使用 Android studio 构建它。

最佳答案

确保您已在 list 文件中实现这两项服务。

    <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 - 使用 FCM 进行 ANR 并使用 applicationIdSuffix 构建变体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43477280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com