Почему я получаю предупреждение - это приложение не соответствует политике разрешений Google Play, хотя моя последняя версия не требует этих разрешений?

Это показать это сообщение

Это приложение не соответствует политике разрешений Google Play, касающейся использования SMS или CALL_LOG. Вы должны исправить это до 9 марта. 2019 или ваше приложение будет удалено из Google Play. Примечание. Если вы недавно внесли изменения, обновление этого сообщения может занять до 12 часов.

Мое приложение в предыдущей версии имеет это разрешение и подает заявку на исключение, когда оно было отклонено. Я обновил приложение 2 недели назад и удалил это разрешение. Но теперь я получаю это сообщение.

Ответы

Ответ 1

Я также получил это предупреждение на моей последней версии приложения.

Объяснение: Вы получаете это предупреждение, потому что каким-то образом прямо или косвенно вы используете некоторые разрешения, которые не соответствуют политике разрешений Google Play.

Косвенно это означает, что любая из сторонних библиотек, которые вы используете в своем проекте, уже использует эти разрешения. И когда вы строите свой проект, он объединяет все файлы Manifest в один файл Merged Manifest. Вот почему вы получаете это предупреждение, потому что ваш окончательный манифест имеет любое из этих разрешений.

Решение 1. После сборки вашего проекта,

  • Откройте файл вашего проекта AndroidManifest.
  • Откройте вкладку " Объединенный манифест " внизу.
  • Ищите любое из этих разрешений. (example- READ_SMS)
  • Если они у вас есть, теперь самое время их удалить. Проверьте пример

Пример: если вы видите разрешение READ_SMS в файле Merged Manifest, то теперь откройте файл AndroidManifest вашего проекта и добавьте строку, написанную ниже, чтобы удалить это разрешение из вашего project-

<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" />

эти строки будут удалять все ограниченные разрешения в соответствии с политикой разрешений, если таковые используются.

Надеюсь, это будет полезно.

Ответ 2

Политика распространяется на все APK, даже те, которые находятся на вашем Alpha или бета-треках. Вам нужно удалить все APK, которые не соответствуют. Если вы не можете найти способ удаления, просто замените его новой версией, которая соответствует требованиям, или создайте новый выпуск без APK на нем, и опубликуйте этот выпуск на альфа или бета-треках.

Изменение: Существует щедрость, запрашивающая ответы для достоверных или официальных источников. Я мог бы надеяться, что, глядя на мои значки, показывающие, что я являюсь главным ответчиком в Google Play, я могу немного поверить. Но вот несколько официальных ссылок:

Это, вероятно, не поможет первоначальному спрашивающему, но может помочь людям с другой проблемой, которые найдут этот вопрос с помощью Google.

Ответ 3

Все вышеперечисленные решения не сработали.

Наконец я нашел в Библиотеке Артефактов старый Активный apk. Это было с "Внутренней тестовой дорожки". Нет кнопки сброса. Поэтому мне пришлось создать новый apk "Internal test track" с фиксированными правами доступа и верхним версией кода по сравнению со старым.

Послесловие после ошибки "Это приложение не соответствует политике разрешений Google Play" исчезло.

Ответ 4

Вы должны проверить черновики артефактов в библиотеке артефактов.

Чтобы решить эту проблему, вам придется отказаться от черновиков артефактов, содержащих конфиденциальные разрешения, и создать новый выпуск без этих разрешений.

Вот как это можно проверить в игровой консоли:

  1. Перейдите в Управление релизами> Библиотека артефактов.
  2. Развернуть Активные APK и Черновики APK
  3. Разверните Требуемые разрешения для каждого APK

Вы также можете ознакомиться с политикой разрешений и просмотреть справочную статью " Использование групп разрешений SMS или журнала вызовов", в которой описаны предполагаемые применения, исключения, недопустимые применения и альтернативные варианты реализации для получения дополнительных рекомендаций.

Ответ 5

Решение 1. Поскольку ответ D_Alpha работает в большинстве сценариев, просто обновите разрешения, как показано ниже:

<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