Android 项目开发填坑记 - 谷歌商店上架被拒 Apps On Device

关键词:谷歌商店被拒、rejected、数据安全表单、已安装应用、Policy Declaration、Data Safety Section、App Activity Data Type、Apps On Device

背景

应用在谷歌商店上架,更新商店包之后,收到审核被拒的邮件,邮箱的原因描述如下:

邮件的意思是违反的谷歌用户数据政策的【数据安全表单】-【应用活动】-【已安装应用】这一项。

即 App 访问了「与用户设备上安装的应用相关的信息」,但是未在安全数据表单里勾选此项。

定位原因

方法一:直接在 Android Studio 里打开应用的 apk 安装包,

检查 AndroidManifest.xml 里是否有 <queries> 标签,并且 <queries> 标签内是否有内容。

上述内容是 Facebook 分享 SDK 需要添加的内容,确实违反了谷歌的用户数据政策。如果你使用了三方登录、分享等, <queries> 标签里还会有 <package android:name="xx.xx.xx" /> 的内容。

方法二:查看 Merged Manifest 状态的AndroidManifest.xml

打开 Android 工程的 app module,打开其目录下的 AndroidManifest.xml ,切换底部的 Tab,从 Text 切换到 Merged Manifest,然后看看是否有 <queries> 标签,并且 <queries> 标签内是否有内容。

解决

解决方案有 2 种:

  1. 保持【已安装应用】不勾选状态:移除所有的 <queries>...</queries> 内容,当然,这个前提是,移除后不影响已有业务
  2. 勾选【已安装应用】选项(推荐):既然有业务需要读取设备上安装的应用信息,就按照实际情况声明即可。见下图

如果有什么建议或者问题可以随时联系我,共同探讨学习: