You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

搭载Firebase通知的侧载Android应用遭Play Protect强制停止排查

问题描述

我有一款已签名的私有侧载Android应用,核心功能是推送Firebase通知,仅附带一个PIN码注册页面。多数时候运行正常,但每日固定时间会被强制停止,导致Firebase通知无法送达,且多台不同设备均出现该问题。

日志分析

抓取到的logcat日志显示强制停止的触发规律:

07-18 09:00:07.862  1398  4907 I ActivityManager: Force stopping XX.XXXX.XXXX appid=10485 user=0: from pid 14937
07-18 09:00:07.863  1398  4907 I WindowManager:   Force removing ActivityRecord{7ac2d00 u0 XX.XXXX.XXXX/crc64993323848f6bc121.MainActivity t1282}

我的设备在每日9:00刚过触发,其他设备触发时间不同但都是每日固定点,和应用启动时间无关。查询触发进程pid 14937,确认是Google Play服务进程:

u0_a243      14937   940 17504584 184708 0                  0 S com.android.vending

核心疑问

  1. 已确认是Play Protect导致:侧载安装时Play Protect曾提示风险但已允许,且Play Protect设置中的「上次运行时间」和应用被强制停止的时间完全吻合。我能控制所有客户端设备,能否通过白名单等方式解决?
  2. 该问题是在应用更新、实现BigPictureStyle通知(需在OnMessageReceived handler中下载图片)后才出现的,此前运行正常且安装时Play Protect未提示。是不是这个改动触发了拦截?
  3. 补充日志显示拦截判定,但仍不明确具体原因:
yma.a(44): Unwanted app (MUwS) without is_muws flag was returned with verdict POTENTIALLY_UNWANTED on autoscan: XX.XXXX.XXX

解决方案建议

1. 设备端Play Protect信任配置

既然可控所有客户端设备,可直接将应用加入Play Protect信任列表:

  • 打开设备「Google Play 商店」→ 右上角个人头像 → 「Play Protect」→ 「设置」
  • 选择「已允许的应用」,添加你的应用包名;若无需全局扫描,也可临时关闭「扫描设备以查找安全威胁」(不推荐,会降低设备整体安全性)

2. 调整通知下载逻辑,规避检测

从日志的POTENTIALLY_UNWANTED和MUwS(疑似指后台静默下载行为)判定来看,OnMessageReceived中自行下载图片的操作可能触发了Play Protect的恶意行为检测:

  • 改用Firebase Cloud Messaging的原生通知图片功能:通过notification.image字段直接传递图片URL,由系统负责下载和展示,无需App在后台执行网络操作
  • 若必须自行下载,需将下载操作放在前台服务中执行,并显示明确的下载通知提示,避免后台静默操作被判定为可疑

3. 利用Play Console降低误判

即使是私有侧载应用,也可上传到Google Play Console的「内部测试」频道,获取官方签名验证,减少Play Protect的误判:

  • 上传应用到内部测试频道,生成测试链接后,只要应用签名一致,即使侧载安装,Play Protect也会识别为可信应用

4. 排查具体触发规则

部分设备可在Play Protect设置中查看详细扫描报告,确认是下载行为、包名特征还是其他因素导致的误判,针对性调整应用逻辑。


内容的提问来源于stack exchange,提问作者Qowy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 01:09:31