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


117

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

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

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

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

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


2
Я также столкнулся с такой же проблемой с моим приложением. Хотя моя учетная запись Google была заблокирована, когда я попытался опубликовать свое приложение. Насколько я понимаю, контрольный список Google update play protect с приостановленным именем пакета, а затем, если вы попытаетесь установить то же имя пакета, play protect начинает выдавать поддельное предупреждение. Я создал новое приложение с приостановленным именем пакета и только с основным действием, без добавления другого кода. Подписал с приостановленным хранилищем ключей apk и попытался установить. Как ни странно, защита игры показала опасное предупреждение, как показано в вашем вопросе. Я также попытался создать новый пакет со всеми классами приостановленных приложений, но без предупреждения по игре.
Panache


та же проблема для меня, но обнаружил другое хранилище ключей, которое даже не опубликовало приложение для игры в 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


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


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

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


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чтобы построить сборку выпуска с ключом отладки.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.