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

时间:2019-02-11 20:45:37

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

它显示此消息

  

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

我的旧版应用具有此权限,但被拒绝时申请例外。我2周前更新了该应用并删除了此权限。但是现在我收到了此消息。

5 个答案:

答案 0 :(得分:17)

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

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

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

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

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

示例:如果您在合并清单文件中看到了 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: 为了安全起见,您可以将这些行添加到 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删除所有受限制的权限(如果有的话)。

希望这会有所帮助。

答案 1 :(得分:3)

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

最后,我在工件库中找到了旧的Active apk。它来自“内部测试轨道”。没有丢弃按钮。因此,我必须创建一个具有固定权限和较旧版本更高的versionCode的新“内部测试轨道” apk。

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

答案 2 :(得分:2)

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

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

这些可能不会帮助最初的提问者,但可能会帮助有其他问题的人通过Google搜索找到该问题。

答案 3 :(得分:1)

您应该在工件库中检查工件草案。

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

以下是在Play控制台中进行检查的方法:

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

您可能还想查看Permissions政策并查看Use of SMS or Call Log permission groups帮助文章,其中描述了预期的用途,例外,无效的用途以及替代实施选项,以提供更多指导。

答案 4 :(得分:0)

解决方案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:

但是在某些情况下:使用所有解决方案后,我们都遇到了相同的错误,因此现在我们可以通过检查一些字段来继续进行成功的检查。它像魅力一样工作。我们不能说它是完美的解决方案,但是它可以工作。

您可以在下面查看它成功更新的方式。

release_with_permission