应用Beta版更新遭拒:未收集IMEI却被判定违反家庭政策求排查
解决Google Play Beta更新因IMEI收集指控被拒的问题
先理清楚你的核心困境:
将我的应用从Beta版更新到Beta版时遭到拒绝,谷歌检测到应用收集个人信息(持久设备标识符-IMEI)但未在Play Console中披露,且面向儿童受众需遵守家庭政策要求。但我未在代码中获取IMEI,也未使用
READ_PHONE_STATE权限,合并清单中也无该权限,向谷歌索要更多信息却未得到有效回复。
作为踩过类似坑的开发者,给你几个具体的排查方向和申诉建议:
一、先揪出第三方依赖里的“隐形黑手”
你自己没写相关代码,但第三方库很可能偷偷在做手脚——我之前就碰到过一个UI库夹带了广告SDK的情况。按这些步骤查:
- 仔细核对合并后的Manifest:打开Android Studio的Manifest编辑器,切换到底部的
Merge Manifest标签,逐行看所有合并进来的权限和组件,哪怕是被tools:node="remove"处理过的也要留意,有些库会悄悄加权限又被你主清单移除,但Play的检测可能还是会扫到; - 排查可疑依赖:你的依赖里,
com.github.myinnos:AppIconNameChanger:1.0这个库要重点查——它涉及修改应用图标/名称,底层可能调用了和设备标识相关的API;另外用./gradlew app:dependencies命令生成完整的依赖树,看看有没有你没注意到的传递依赖(比如某些分析、广告SDK); - 反编译上传的APK实锤:把你传到Play Console的APK下载下来,用Apktool反编译,直接搜
getImei、getDeviceId这类关键词,看有没有相关代码调用,同时看最终的Manifest里藏没藏权限。
二、面向儿童受众的政策要更“较真”
因为你的应用面向儿童,Play的家庭政策对设备标识符的管控是零容忍的,哪怕是间接收集都不行:
- 确认有没有任何数据收集逻辑:哪怕是你自己没加,依赖库自带的统计、崩溃上报功能可能默认收集设备信息;
- 检查Google Play服务相关模块:如果用到了Play服务的某些组件(比如定位、支付),旧版本的模块可能会默认请求设备标识权限,确保所有Play服务相关依赖都是最新版(不过你目前的依赖里没直接列,但传递依赖可能有)。
三、申诉时要给谷歌“实锤”,别光说“我没做”
谷歌的客服有时候回复很敷衍,你申诉时必须提供具体证据,让他们没法再打太极:
- 附合并Manifest的截图,圈出没有
READ_PHONE_STATE权限的部分; - 附代码搜索结果的截图,证明你的代码里没有任何获取IMEI的调用;
- 附依赖树的分析结果,指出没有可疑的广告/分析SDK;
- 明确说明你的应用核心功能(从清单看是文件管理、主题配置类),完全不需要IMEI这类标识符,也没有任何收集用户数据的逻辑;
- 直接要求他们提供检测到的具体代码片段或库名称——有时候你强硬一点,他们会给出更具体的信息。
四、临时应急方案
如果急需发布Beta版,可以先做排除法:
- 暂时移除非核心的第三方库(比如
AppIconNameChanger),重新打包上传,看是否还会被拒,以此定位问题来源; - 立刻在Play Console的隐私政策里明确声明本应用不收集任何个人设备标识符,哪怕之前没填,补充后配合申诉。
内容的提问来源于stack exchange,提问作者user2983041
相关产品推荐
相关产品推荐

