【问题标题】:Why I am receiving Warning - this app does not meet Google Play permissions policy, even though my latest version doesn't require these permission?为什么我收到警告 - 此应用不符合 Google Play 权限政策,即使我的最新版本不需要这些权限?
【发布时间】:2019-07-05 10:29:59
【问题描述】:

显示这条消息

此应用不符合与使用 SMS 或 CALL_LOG 相关的 Google Play 权限政策。您必须在 2019 年 3 月 9 日之前解决此问题,否则您的应用将从 Google Play 中删除。注意:如果您最近进行了更改,则最多可能需要 12 小时才能更新此消息。

我以前版本的应用程序有此权限,并在被拒绝时申请例外我在 2 周前更新了应用程序并删除了此权限。但现在我收到了这条消息。

【问题讨论】:

  • 您有 alpha 或 beta 测试通道吗?如果是这样,其中一个中的旧 apk 可能是原因。
  • @IvanWooll 我找不到删除旧 apk 的方法
  • 否,但您可以将其更新到与您的发布频道相同的版本
  • 面临同样的问题。

标签: android google-play android-permissions google-play-console


【解决方案1】:

我在上一个应用版本中也收到了此警告。

说明:您收到此警告是因为您以某种方式直接或间接使用了一些不符合 Google 的权限播放权限政策

间接意味着,您在项目中使用的任何第三方库可能已经在使用这些权限。当您构建项目时,它会将所有 Manifest 文件合并到一个 Merged Manifest 文件中。这就是您收到此警告的原因,因为您的最终清单具有任何这些权限。

解决方案 1: 构建项目后,

  • 打开项目的 AndroidManifest 文件。
  • 打开底部的合并清单标签。
  • 搜索任何这些权限。 (示例 - READ_SMS
  • 如果有,现在是时候删除它们了。检查示例

示例:如果您在 Merged Manifest 文件中看到 READ_SMS 权限,那么现在打开您项目的 AndroidManifest 文件并添加下面写的行以从您的项目中删除该权限-

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

在您的 AndroidManifest 文件中添加上述权限行,就是这样。它将从合并清单文件中删除权限,您的问题将得到解决。

AndroidManifest 文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.myapp">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_SMS" tools:node="remove" />

    <application
        android:name=".MyApp"
        android:allowBackup="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:ignore="GoogleAppIndexingWarning"
        tools:replace="android:allowBackup">

        <activity
            android:name=".SplashActivity"
            android:screenOrientation="portrait"
            android:theme="@style/FullscreenTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

解决方案 2: 替换/删除正在使用这些权限的第 3 方库。

更新:

解决方案 3:为了安全起见,您可以在 AndroidManifest 文件中添加这些行。

<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.SEND_SMS"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.WRITE_SMS"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.RECEIVE_WAP_PUSH"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.RECEIVE_MMS"
    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.PROCESS_OUTGOING_CALLS"
    tools:node="remove" />

这些行将根据Permission Policy 删除所有受限权限(如果有的话)。

希望对您有所帮助。

【讨论】:

  • &lt;uses-permission android:name="android.permission.READ_SMS" tools:node="remove" /&gt; 为我工作。谢谢。 :-)
  • 在 MergedAndroidManifest 中找不到任何与 SMS 或 CALL_LOG 相关的权限
  • @D_Alpha 是否也需要从 JAVA 文件中删除运行时权限代码?
  • @D_Alpha 但我有很多使用运行时权限代码的 sdk,我没有时间更新所有这些 ..我认为从清单中删除就足够了
  • @PiyushKukadiya 在从清单文件中删除权限后测试您的应用程序。我认为从清单文件中删除权限就足够了,您只会收到警告(如果有的话)。
【解决方案2】:

该政策适用于所有 APK,甚至包括您的 Alpha 或 Beta 轨道上的那些。您需要删除任何不符合要求的 APK。如果您找不到删除方法,只需将其替换为符合要求的较新版本,或创建一个没有 APKs 的新版本,然后将该版本发布到 Alpha 或 Beta 轨道.

编辑: 有一个赏金要求可靠或官方来源的答案。我可能希望看到我的徽章显示我是 Google Play 上的最佳回答者,这可能会让我有点可信。但这里有一些官方链接:

这些可能不会帮助最初的提问者,但可能会帮助有不同问题的人通过谷歌搜索找到这个问题。

【讨论】:

  • 能否请您详细说明创建一个没有 APK 的新版本
  • 按照此页面上的步骤操作:support.google.com/googleplay/android-developer/answer/7159011 1) 转到您的 Play 管理中心。 2)选择一个应用程序。 3) 在左侧菜单中,选择发布管理 > 应用发布。 4) 选择创建版本 5) 不向版本添加任何 APK。删除任何预填充。 6) 在您要禁用的任何轨道上发布版本。
  • 没关系。我没有alpha、beta环境。只有生产和上传的最新版本是 2。现在我要上传带有版本 3 的应用程序(没有 RECEIVE_SMS, READ_SMS and CALL_PHONE )。但它引发了与我的第二版应用程序相关的错误,并迫使我填写权限声明表。现在我该怎么办?
  • 评论别人的 StackOverflow 不是针对应用商店问题进行 1:1 技术支持的地方。 meta.stackoverflow.com/questions/272165/…我会通过 Play 控制台联系 Google Play 开发者支持
【解决方案3】:

上述所有解决方案均无效。

最后我在 Artifact Library 中找到了旧的 Active apk。它来自“内部测试轨道”。没有丢弃按钮。所以我不得不创建新的“内部测试轨道”apk,它具有固定的权限和高于旧版本的版本代码。

后记“此应用不符合 Google Play 权限政策”错误消失了。

【讨论】:

    【解决方案4】:

    您应该检查工件库中的草稿工件。

    要解决此问题,您必须丢弃包含敏感权限的草稿工件并创建没有这些权限的新版本。

    以下是在 Play 管理中心内进行检查的方法:

    1. 转到发布管理 > 工件库
    2. 扩展活动 APK 和草稿 APK
    3. 扩展每个 APK 所需的权限

    您可能还想查看Permissions 政策和Use of SMS or Call Log permission groups 帮助文章,该文章描述了预期用途、例外、无效用途和替代实施选项以获得更多指导。

    【讨论】:

      【解决方案5】:

      解决方案 1:D_Alpha's answer 在大多数情况下都可以正常工作只需更新权限,如下所示:

      <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.SEND_SMS" tools:node="remove" />
      <uses-permission android:name="android.permission.WRITE_SMS" tools:node="remove" />
      <uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" tools:node="remove" />
      <uses-permission android:name="android.permission.RECEIVE_MMS" 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.PROCESS_OUTGOING_CALLS" tools:node="remove" />
      

      解决方案 2:

      但在某些情况下:在使用所有解决方案后,我们得到了相同的错误,所以现在我们可以通过检查一些字段来成功地进行审查。它就像魅力一样。我们不能说它是完美的解决方案,但它确实有效。

      您可以在下面查看它是如何成功更新的。

      【讨论】:

        猜你喜欢
        • 2019-07-19
        • 1970-01-01
        • 2019-07-09
        • 1970-01-01
        • 1970-01-01
        • 2017-10-21
        • 2011-02-10
        • 2017-05-05
        相关资源
        最近更新 更多