尽管删除了 SMS 或 CALL LOG 权限,应用程序更新在 Play 商店中被一遍又一遍地拒绝

Posted

技术标签:

【中文标题】尽管删除了 SMS 或 CALL LOG 权限,应用程序更新在 Play 商店中被一遍又一遍地拒绝【英文标题】:App update getting rejected over and over on Play Store, in spite of removing SMS or CALL LOG permission 【发布时间】:2019-12-10 21:47:16 【问题描述】:

我在上传我的 apk 时遇到了问题。 Play 控制台不允许我上传 apk 并出现此错误“在创建声明敏感权限的新应用版本之前,您无法编辑此应用。”。 在将我的应用程序的最低 API 级别从 16 升级到 19 后,我遇到了这个问题。我这样做是为了支持我在上传之前集成的库,即 RazorPay。 所以,我重新检查了我的合并清单是否添加了任何不需要的权限,但没有。为了安全起见,我添加了删除合并清单权限的代码。还是不行。 我试图通过故意添加短信权限来触发申报表,并通过反短信钓鱼(随机)填写。

我能够推出我的应用程序,但从那时起,每当我尝试上传我的应用程序时,即使没有短信或通话记录许可,Google Play 也会不断拒绝该应用程序。如果没有选择权限,则无法重新提交申报表。

这是我的清单许可:

<uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />


    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />


    <uses-permission
        android:name="android.permission.RECEIVE_SMS" tools:node="remove" />
    <uses-permission
        android:name="android.permission.READ_SMS" tools:node="remove" />
    <uses-permission
        android:name="android.permission.READ_CALL_LOG" tools:node="remove" />
    <uses-permission
        android:name="android.permission.WRITE_CALL_LOG" tools:node="remove" />
    <uses-permission
        android:name="android.permission.CALL_PHONE" tools:node="remove" />

【问题讨论】:

您必须从清单中完全删除 android:name="android.permission.RECEIVE_SMS" 所有与 SMS 和 CALL LOG 相关的权限或提交具有此权限的申报表。 @PranavDarji 它已被删除。我添加了这一行 android:name="android.permission.RECEIVE_SMS" tools:node="remove" ,以删除由库添加的权限。 你在使用构建变体吗? @SachinKasaraddi 是的 您是否通过从项目中完全删除 &lt;uses-permission android:name="android.permission.RECEIVE_SMS" tools:node="remove" /&gt; 和其他人来重试?不要使用tools:node="remove" 【参考方案1】:

在等待 Google Play 支持团队的回复后,他们终于给了我一个可行的解决方案。

这是来自 Google 的电子邮件,它解决了我的问题:

嗨,

感谢您联系 Google Play 开发者支持。

当相关团队对您的问题进行调查时,请按照后续步骤告知我们 关于结果。

    转到 Play 管理中心 > 点击应用 在左侧菜单中,单击“发布管理”>“应用程序发布”>“生产”轨道旁边的“管理”。 > '创建版本' 在“Android App Bundles and APKs to add”旁边,点击“Add from library”> 选择任何具有敏感权限的旧 APK(即版本 10000)以查看声明表。 在声明表格的核心功能下,请选择其他功能(即“默认短信处理程序”)并取消选中“反短信网络钓鱼”。 填写所有其他要求>点击“保存” 返回页面顶部,在“要添加的 Android App Bundles and APKs”部分下,单击具有敏感权限的 APK 旁边的“删除”按钮(在第 3 步中添加)。 上传一个没有敏感权限的新APK(版本代码更高)。 ---在第 7 步之后,应该没有显示申报表--- 点击“保存”>“审核”>“开始推出”

如果有人能解决这个问题,这会有所帮助。

【讨论】:

【参考方案2】:

首先,您需要检查是否已删除所有nasty 权限。您需要通过在终端/控制台中运行以下命令来检查您当前的权限:

aapt d permissions your.company.name.apk

在 Google Play 中查看Permissions。

然后,将它们标记为已删除。

最后,(这曾经发生在我身上),检查您在 Google Play 中的应用程序页面,并尝试查找您是否有应用程序的AlphaBeta 版本。通过发布 AlphaBeta 来删除它们,而不添加 apk。然后保存并创建发布。这应该会使 AlphaBeta 被生产版本覆盖。

【讨论】:

Alpha 和 Beta 已被覆盖。并请详细说明如何检查您在答案中提到的当前权限。 如果找不到 aapt 二进制文件,请转到您的 Android SDK 文件夹并检查 build-tools 中的内容 你知道了。没有短信或通话记录权限。【参考方案3】:

由于您使用的是构建变体,因此请在您的最高优先级清单文件中定义它

库清单:最低优先级 主要清单:中优先级 构建 Vairant 清单:最高优先级

【讨论】:

【参考方案4】:

任何 android 库都需要有一个 AndroidManifest.xml。所以问题可能是您的图书馆正在使用任何违反 google 权限政策的权限。

See this Post

【讨论】:

以上是关于尽管删除了 SMS 或 CALL LOG 权限,应用程序更新在 Play 商店中被一遍又一遍地拒绝的主要内容,如果未能解决你的问题,请参考以下文章

READ_PHONE_STATE 权限是不是会受到 SMS 和 CALL_LOG 权限组的 Google Play 政策更改的影响?

当我的应用程序不使用这些权限时,仍然在 Google Play 控制台中收到那些 SMS 和 CALL LOG 警告?

谷歌商店上架APP被拒绝

Receive_SMS 权限问题

为什么我收到警告 - 此应用不符合Google Play权限政策,即使我的最新版本不需要这些权限?

如何在 Firebase 电话身份验证中修复 SMS 权限?清单中没有提到要删除的权限