Installations-App durch Play Protect blockiert


115

Beim Versuch, eine signierte Anwendung (app-release.apk) zu installieren, wird die Warnung "Blockiert durch Play Protect" angezeigt und die App wird nicht installiert. Eine nicht signierte Anwendung (app-debug.apk) kann jedoch problemlos installiert werden.

Die Fehlermeldung:

Play Protect erkennt den Entwickler dieser App nicht. Apps von unbekannten Entwicklern können manchmal unsicher sein.

Warum ist dieser Fehler passiert? Was ist die Lösung?

Bild des Fehlers


2
Ich hatte auch das gleiche Problem mit meiner App. Obwohl mein Google-Konto gesperrt wurde, als ich versuchte, meine App zu veröffentlichen. Was mir klar ist, dass Google Update Play Protect Checkliste mit angehaltenem Paketnamen und danach, wenn Sie versuchen, den gleichen Paketnamen zu installieren, Play Protect beginnen, gefälschte Warnung zu geben. Ich habe eine neue App mit suspendiertem Paketnamen und nur Hauptaktivität erstellt und keinen anderen Code hinzugefügt. Signiert mit suspendiertem apk Keystore und versucht zu installieren. Erstaunlicherweise zeigte Spielschutz eine schädliche Warnung, wie in Ihrer Frage gezeigt. Ich habe auch versucht, ein neues Paket mit allen Klassen von angehaltenen Apps zu erstellen, aber keine Warnung per Spiel.
Panache


das gleiche Problem für mich, aber andere Keystore gefunden, die nicht einmal App zu Google Play veröffentlicht, App korrekt signieren, und dieser Dialog nicht angezeigt wird! Auch wenn Sie eine neue App erstellen, ist das Problem sofort einsatzbereit. Ich habe mehrere Anwendungen und andere Keystore funktionieren mit meiner neuen App korrekt! Ich weiß nicht, wie ich den Entwickler von unbekannten Apps googeln soll! Ich habe nie ein Google Play Console-Konto.
Hamed Hosiny

Antworten:


60

Ich habe die Lösung gefunden: Gehen Sie auf den unten stehenden Link und reichen Sie Ihre Bewerbung ein.

Play Protect Appeals Submission Form

Nach einigen Tagen ist das Problem behoben


3
@MostafaAzadi Was war der genaue Grund?
Behnam Maboudi

3
Wenn Sie kein SSL verwenden und die Klartextkommunikation im Manifest aktiviert haben, ist dies der Grund.
DaniloDeQueiroz

1
Wenn Sie ein Problem mit der URL zum Herunterladen Ihrer APK-Datei haben, ist dies hilfreich: stackoverflow.com/a/56513945/9710197
Mostafa Azadi

@DaniloDeQueiroz Sind Sie absolut sicher, dass das Problem auf Klartextkommunikation zurückzuführen ist? Das Entfernen android:usesCleartextTraffic="true"sollte also das Problem lösen, oder? Vielen Dank.
AnthoPak

1
Hallo. Ich kann meine App nicht einreichen, um einen Schutz für Play Protect zu beantragen. Wie lade ich die apk hoch? Ich erhalte eine E-Mail mit dem Hinweis, dass die apk nicht heruntergeladen werden kann, obwohl ich direkte Download-Links über GitHub bereitstelle.
SayantanRC

40

Ich habe die bessere Lösung gefunden. Wenn Sie möchten , um dieses Problem erobern Sie Ihr Spiel zu speichern, in Menü öffnen sollten finden Protect Spiele Hier und Hier und deaktivieren Scan - Gerät für Sicherheitsbedrohungen .


77
Dies ist nicht die Lösung. Wenn wir eine App an den Client oder an den Benutzer (ohne Playstore) verteilen müssen, können wir diese nicht verwenden
Silwar

1
Vielen Dank, hat für mich gut funktioniert, um eine schnelle einmalige Lösung für eine seitlich geladene App zu finden.
Günter Zöchbauer

1
@silwar Ich glaube nicht, dass ein Problem auf Geräten ohne Play Store besteht. Weil Blocker der Play Store ist.
Jemshit Iskenderov

@JemshitIskenderov In meinem Fall war es ein Problem mit einem beschädigten Keystore. Ich habe es für meine App geändert (Unternehmens-App, also nicht im Playstore veröffentlicht) und das Problem wurde behoben
Silwar

1
In meinem Fall bestand das Problem darin, Google Game Services für unveröffentlichte Apps zu verwenden.
Sattar Hummatli

18

Versuchen Sie, einen neuen Schlüsselspeicher zu erstellen und durch einen alten zu ersetzen, und erstellen Sie dann eine neue signierte APK neu.

Update: Beachten Sie, dass Sie SSL verwenden sollten, wenn Sie eine http-Verbindung mit dem Server verwenden.

Schauen Sie sich Folgendes an: https://developer.android.com/distribute/best-practices/develop/understand-play-policies


2
Vielleicht liegt es daran, dass die maximale Gültigkeit der meisten gekauften Zertifikate in den letzten Jahren liegt. Stellen Sie ein Ablaufdatum von mehr als 50 Jahren ein.
Amirhosein Heydari

1
Ich habe diese App diesen Monat erstellt und die Gültigkeit (Jahre) der Unterschrift auf 25 Jahre festgelegt
Mostafa Azadi

1
@MostafaAzadi, Amirhosein Ich habe hier das gleiche Problem. hast du etwas gefunden
Behnam Maboudi

17
Ja, es scheint lächerlich. Schlimmer ist, dass ich dieses Popup nur beim ersten Installieren der Anwendung erhalte. Selbst wenn ich es akzeptiere und installiere, wird bei der nächsten Installation "Installation stillschweigend blockiert" protokolliert und auf der Benutzeroberfläche wird die Meldung "App nicht installiert" angezeigt. Wenn ich zu diesem Zeitpunkt nur Play Protect ganz deaktiviere oder Play Store-Daten aus den Einstellungen lösche, wird das Popup erneut angezeigt. Dies geschieht mit einem Schlüssel, den wir mit demselben Skript wie Dutzende unserer anderen Apps generiert haben, die sich im Play Store befinden und einwandfrei funktionieren.
zsmb13

8
Khosham miad faghat ma irani ha b hamchin moshkelayi bar mikhorim
MoHammaD ReZa DehGhani

12

Google Play findet Sie als Entwickler über Ihren Keystore .

und möglicherweise ist Ihre Länder-IP bei Google gesperrt, wenn Sie Ihren neuen Keystore generieren.

Ändern Sie Ihre IP-Adresse und generieren Sie einen neuen Keystore. Das Problem wird behoben.

Wenn Sie keinen Erfolg hatten, verwenden Sie ein anderes Google Mail-Konto in Android Studio und generieren Sie einen neuen Keystore.


Hast du das Zeug gemacht? Weil ich dieses Problem habe und meine Bewerbungen sich aus dem Iran authentifizieren lassen und keine Bewerbung aus der Berufung senden können (sie können sie nicht testen). Wie kann ich sie lösen? danke Kumpel
Nima habibkhoda

4
Bei mir hat es nicht funktioniert! Ich benutze Keytool zum Erstellen von Keystore
Amir Shabani

11

Es gibt drei Möglichkeiten, um diese Warnung zu entfernen:

  1. Sie müssen Play Protect im Play Store -> Play Protect -> Einstellungssymbol -> Gerät auf Sicherheitsbedrohungen scannen deaktivieren
  2. Veröffentlichen Sie die App im Google Play Store
  3. Reichen Sie einen Appell beim Play Protect ein .

7

Ich füge diese Antwort für andere hinzu, die noch nach einer Lösung für dieses Problem suchen. Wenn Sie Ihre App nicht im Playstore hochladen möchten, gibt es vorübergehend eine Problemumgehung für dieses Problem.

Google stellt eine API zur Überprüfung von Sicherheitsgeräten zur Verfügung, die Sie in Ihrer Anwendung nur einmal aufrufen müssen. Danach wird Ihre Anwendung nicht mehr durch Play Protect blockiert:

Hier sind die Links:

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

Link für Beispielcode-Projekt:

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


1
@ Ahmad natürlich funktioniert es alle meine Kollegen verwenden diese API, um das Problem zu lösen, das wir bis jetzt mehr als 20 verschiedene Apks an Kunden übergeben haben und es funktioniert perfekt
Mr. Patel

2

Die einzige Lösung, die für mich funktioniert hat, war die Verwendung von Java Keytool und das Generieren eines. keystoreDatei die Befehlszeile und verwenden Sie diese .keystoreDatei, um meine App zu signieren

Sie finden das Java-Keytool in diesem Verzeichnis C:\Program Files\Java\jre7\bin

Öffnen Sie ein Befehlsfenster, wechseln Sie in dieses Verzeichnis und geben Sie einen solchen Befehl ein

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

Keytool fordert Sie auf, Kennwörter für den Keystore, Ihren Namen, Ihre Firma usw. Anzugeben. Beachten Sie, dass Sie bei der letzten Eingabeaufforderung yes eingeben müssen.

Anschließend wird der Schlüsselspeicher als Datei mit dem Namen my-release-key.keystore in dem Verzeichnis generiert, in dem Sie sich befinden. Der Schlüsselspeicher und der Schlüssel sind durch die von Ihnen eingegebenen Kennwörter geschützt. Der Schlüsselspeicher enthält einen einzelnen Schlüssel, der 10000 Tage gültig ist. Der Alias ​​ist ein Name, den Sie später verwenden, um beim Signieren Ihrer Anwendung auf diesen Schlüsselspeicher zu verweisen.

Weitere Informationen zu Keytool finden Sie in der Dokumentation unter: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html

Weitere Informationen zum Signieren von Android-Apps finden Sie hier: http://developer.android.com/tools/publishing/app-signing.html


3
Wenn es eine Ablehnung gibt, möchte ich wissen warum. Wenn ich etwas falsch mache, möchte ich wissen
A.easazadeh

2

Wenn Sie einige Tracker wie google analyticsoder verwenden amplitudeund versuchen, Ihre App auf einer anderen Plattform als freizugeben Google Play, wird dieser Fehler für Benutzer angezeigt. Es gibt also zwei mögliche Lösungen:

  1. Verwenden Sie spezielle Tracker in Ihrer App (Firebase und Appmetrica werden getestet und sind in Ordnung).
  2. Geben Sie Ihre App in frei Google Play

0

Die Lösung besteht darin, beim Generieren der signierten apk einen neuen Schlüssel zu erstellen. Das hat bei mir ohne viel Aufhebens funktioniert.

  1. Klicken Sie auf Erstellen
  2. Klicken Sie auf signiertes Bundle / APK generieren ...
  3. Wählen Sie entweder Bundle / APK (in meinem Fall APK) und klicken Sie auf Weiter
  4. Klicken Sie auf Neu erstellen (stellen Sie sicher, dass Sie einen Schlüsselspeicherpfad auf dem Computer haben).
  5. Klicken Sie nach allem auf Fertig stellen, um Ihre signierte Apk zu generieren

Bei der Installation wird die Warnung nicht angezeigt.


0

Es ist aufgrund des abgelaufenen Debug-Zertifikats einfach das gefundene debug.keystorebei zu löschen

C:\Users\.android\

Nach dem Erstellen Ihres Projekts generieren die Build-Tools einen neuen Schlüssel neu und es funktioniert einwandfrei. Hier ist eine Referenz:

https://developer.android.com/studio/publish/app-signing

-1

Nicht die Lösung, aber Sie können den Debug-Schlüssel zum Signieren von Release- Builds verwenden, um zu vermeiden, dass die Installation von Google Play Protect blockiert wird. Es sieht so aus, als würde Play Protect nicht vor Builds warnen, die mit automatisch generierten Signaturen signiert wurden debug.keystore.

Beachten Sie, dass Ihre Debug-Builds dies nicht tun ohne Vorzeichen sind , sondern nur mit einem Debug- Schlüssel signiert sind .

Natürlich können Sie den Build nicht für die Produktionsverteilung verwenden (Google Play, Amazon usw.), aber es lohnt sich immer noch für interne Tests vor der Produktion, für die eine hochfrequente Rückkopplungsschleife erforderlich ist.

Sie können eine Aufgabe zum Erstellen einer Version mit debug.keystore hinzufügen, indem Sie die Konfiguration in hinzufügen build.gradle , z.

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

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

Führen Sie dann aus, ./gradlew assembleReleaseDebugKeyum einen Release-Build mit Debug-Schlüssel zu erstellen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.