установка приложения заблокирована функцией Play Protect

117

При попытке установить подписанное приложение (app-release.apk) отображается предупреждение «Заблокировано Play Protect», и приложение не устанавливается. Однако неподписанное приложение (app-debug.apk) можно установить без проблем.

Сообщение об ошибке:

Play Protect не распознает разработчика этого приложения. Приложения от неизвестных разработчиков иногда могут быть небезопасными.

Почему произошла эта ошибка? Какое решение?

изображение ошибки

Мостафа Азади
источник
2
Я также столкнулся с такой же проблемой с моим приложением. Хотя моя учетная запись Google была заблокирована, когда я попытался опубликовать свое приложение. Насколько я понимаю, контрольный список Google update play protect с приостановленным именем пакета, а затем, если вы попытаетесь установить то же имя пакета, play protect начинает выдавать поддельное предупреждение. Я создал новое приложение с приостановленным именем пакета и только с основным действием, без добавления другого кода. Подписал с приостановленным хранилищем ключей apk и попытался установить. Как ни странно, защита игры показала опасное предупреждение, как показано в вашем вопросе. Я также попытался создать новый пакет со всеми классами приостановленных приложений, но без предупреждения по игре.
Panache
См. Решение здесь: stackoverflow.com/a/54976730/984471
Манохар Редди Поредди
та же проблема для меня, но обнаружил другое хранилище ключей, которое даже не опубликовало приложение для игры в Google, правильно подписать приложение, и это диалоговое окно не появляется! даже если вы создаете новое приложение, проблема возникает из коробки. У меня есть несколько приложений, и другое хранилище ключей работает с моим новым приложением! Я не знаю, как гуглу решать, разработчик приложений неизвестен! У меня никогда не было учетной записи на консоли Google Play.
Хамед хосин

Ответы:

61

Я нашел решение: перейдите по ссылке ниже и отправьте заявку.

Форма подачи апелляции Play Protect

Через несколько дней проблема будет устранена

Мостафа Азади
источник
3
@MostafaAzadi В чем была точная причина?
Бехнам Мабуди 01
3
причина в том, что вы не используете SSL и включили в манифесте передачу открытого текста.
DaniloDeQueiroz
1
Если у вас есть проблема с URL-адресом для загрузки файла APK, это полезно: stackoverflow.com/a/56513945/9710197
Мостафа Азади,
@DaniloDeQueiroz Вы абсолютно уверены, что проблема в передаче открытого текста? Итак, удаление android:usesCleartextTraffic="true"должно решить проблему, верно? Спасибо.
AnthoPak
1
Привет. Я не могу подать апелляцию на приложение Play Protect. Как закачать apk? Я получаю электронное письмо о том, что apk не может быть загружен, хотя я предоставляю прямые ссылки для скачивания через GitHub.
SayantanRC
40

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

Молуд Аят
источник
78
Это не выход. Когда нам нужно распространить приложение клиенту или пользователю (без игрового магазина), мы не можем это использовать,
Сильвар
1
Спасибо, у меня сработало быстрое одноразовое исправление для приложения с боковой загрузкой.
Günter Zöchbauer
1
@silwar Я не думаю, что проблема существует на устройствах без магазина воспроизведения. Потому что блокировщик - это Play Store.
Джемшит Искендеров
@JemshitIskenderov В моем случае это была проблема с поврежденным хранилищем ключей .. Я изменил его для своего приложения (корпоративное приложение, поэтому оно не публикуется в игровом магазине), и проблема была исправлена
Silwar
1
В моем случае проблема заключалась в использовании Google Game Services для неопубликованных приложений.
Саттар Хумматли
18

Попробуйте создать новое хранилище ключей и заменить его старым, а затем заново создать новый подписанный APK.

Обновление: обратите внимание, что если вы используете HTTP-соединение с сервером, вы должны использовать SSL.

Взгляните на: https://developer.android.com/distribute/best-practices/develop/understand-play-policies

Amirhosein Heydari
источник
2
Возможно, это из-за того, что максимальный срок действия большинства купленных сертификатов примерно в последние годы. Установите срок годности более 50 лет.
Amirhosein Heydari
1
Я создал это приложение в этом месяце, и я установил срок действия (лет) подписи 25 лет
Мостафа Азади
1
@MostafaAzadi, Amirhosein, у меня здесь такая же проблема. ты что-нибудь нашел?
Behnam Maboudi 05
17
Да, это кажется смешным. Что еще хуже, это всплывающее окно появляется только при первой установке приложения. Даже если я приму его и установлю, при следующей установке он регистрирует «Установка заблокирована автоматически», и я получаю сообщение «Приложение не установлено» в пользовательском интерфейсе. В этот момент только полное отключение Play Protect или очистка данных Play Store из настроек снова вызывает всплывающее окно. Это происходит с ключом, который мы создали с помощью того же скрипта, что и десятки других наших приложений, которые есть в Play Store и работают нормально.
zsmb13 05
8
Khosham miad faghat ma irani ha b hamchin moshkelayi bar mikhorim
MoHammaD ReZa DehGhani 01
12

Google Play находит вас как разработчика через хранилище ключей .

и, возможно, IP-адрес вашей страны запрещен в Google при создании нового хранилища ключей.

измените свой IP-адрес и создайте новое хранилище ключей, проблема будет устранена.

если у вас не получилось, используйте другой Gmail в Android Studio и создайте новое хранилище ключей.

Мейсам Бейранванд
источник
Ты делал это? потому что у меня есть эта проблема, и мои приложения прошли аутентификацию из Ирана и не могут отправить заявку из апелляции (они не могут ее проверить), так как я могу ее решить? спасибо, чувак
Нима хабибхода 07
4
У меня не получилось! Я использую keytool для создания хранилища ключей
Амир Шабани
11

Есть три способа избавиться от этого предупреждения:

  1. Вам необходимо отключить Play Protect в Play Store -> Play Protect -> Значок настроек -> Сканировать устройство на наличие угроз безопасности
  2. Опубликовать приложение в Google Play Store
  3. Подайте апелляцию в Play Protect .
Али
источник
7

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

Google предоставляет api проверки устройств безопасности, который вам нужно вызвать только один раз в вашем приложении, и после этого ваше приложение не будет заблокировано функцией Play Protect:

Вот ссылки:

https://developer.android.com/training/safetynet/attestation#verify-attestation-response

Ссылка на проект образца кода:

https://github.com/googlesamples/android-play-safetynet

Г-н Патель
источник
1
@ Ахмад, конечно, работает, все мои коллеги используют этот api для решения проблемы, которую мы передали клиентам до сих пор, и он отлично работает,
г-н Патель,
2

единственное решение сработало для меня - использовать java keytool и создать файл. keystoreфайл командной строки, а затем используйте это.keystore файл для подписи моего приложения

вы можете найти java keytool в этом каталоге C:\Program Files\Java\jre7\bin

откройте командное окно, переключитесь в этот каталог и введите такую ​​команду

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

Keytool предложит вам ввести пароли для хранилища ключей, ваше имя, компанию и т. Д. обратите внимание, что в последнем приглашении вам нужно ввести да.

Затем он создает хранилище ключей в виде файла с именем my-release-key.keystore в каталоге, в котором вы находитесь. Хранилище ключей и ключ защищены паролями, которые вы ввели. Хранилище ключей содержит единственный ключ, действительный в течение 10000 дней. Псевдоним - это имя, которое вы - будете использовать позже, чтобы ссылаться на это хранилище ключей при подписании вашего приложения.

Дополнительные сведения о Keytool см. В документации по адресу: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html.

а дополнительную информацию о подписании приложений Android можно найти здесь: http://developer.android.com/tools/publishing/app-signing.html

easazade
источник
3
если есть отрицательный голос, я хотел бы знать, почему. если я делаю что-то не так, мне хотелось бы знать
easazade
2

Если вы используете трекеры, такие как google analyticsили, amplitudeи пытаетесь выпустить свое приложение на других платформах Google Play, эта ошибка появляется для пользователей. Итак, есть два возможных решения:

  1. Используйте специальные трекеры в своем приложении (firebase и appmetrica протестированы и все в порядке)
  2. Выпустите свое приложение в Google Play
майран
источник
0

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

  1. нажмите на Build
  2. нажмите "Создать подписанный пакет / APK" ...
  3. выберите Bundle / APK (в моем случае APK) и нажмите Next
  4. нажмите на создать новый (убедитесь, что у вас есть путь к хранилищу ключей на машине)
  5. после всего, нажмите Готово, чтобы сгенерировать подписанный apk

при установке предупреждения не придет.

KD MBEDOBE
источник
0

это связано с истекшим сроком действия сертификата отладки, просто удалите debug.keystoreрасположенный по адресу

C:\Users\.android\

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

https://developer.android.com/studio/publish/app-signing
Джасбин Карки
источник
-1

Это не решение, но вы можете использовать ключ отладки для подписания сборок выпуска, чтобы избежать блокировки установки из Google Play Protect. Похоже, Play Protect не предупреждает о сборках, подписанных автоматически созданнымиdebug.keystore .

Обратите внимание, что ваши отладочные сборки не являются неподписанными , они просто подписаны с помощью отладки. ключом.

Конечно, вы не можете использовать сборку для производственного распространения (Google Play, Amazon и т. Д.), Но она все же стоит для предварительного внутреннего тестирования, которое требует высокочастотной обратной связи.

Вы можете добавить задачу для сборки выпуска с помощью debug.keystore, добавив конфигурацию build.gradle, например:

android {
  buildTypes {
    // add after the `release` definition
    releaseDebugKey { initWith release }
  }

  signingConfigs {
    // use debug.keystore for releaseDebugKey builds
    releaseDebugKey { initWith debug }
  }
}

затем выполните, ./gradlew assembleReleaseDebugKeyчтобы построить сборку выпуска с ключом отладки.

TNJ
источник