Playプロテクトによってブロックされたインストールアプリ


116

署名されたアプリケーション(app-release.apk)をインストールしようとすると、「Blocked by Play Protect」アラートが表示され、アプリがインストールされていません。ただし、署名されていないアプリケーション(app-debug.apk)は問題なくインストールできます。

エラーメッセージ:

Playプロテクトはこのアプリの開発者を認識しません。不明な開発者のアプリは、安全でない場合があります。

なぜこのエラーが発生したのですか?解決策は何ですか?

エラーの画像


2
アプリでも同じ問題が発生しました。アプリを公開しようとしたときにGoogleアカウントが停止されましたが。一時停止したパッケージ名を含むGoogle Update Playプロテクトチェックリストを確認し、その後同じパッケージ名をインストールしようとすると、Playプロテクトが偽の警告を出します。一時停止したパッケージ名とメインアクティビティのみを使用し、他のコードを追加しないで新しいアプリを作成しました。一時停止されたapkキーストアで署名し、インストールしようとしました。驚くほどプレイプロテクトはあなたの質問で示したように有害な警告を示しました。また、中断されたアプリのすべてのクラスで新しいパッケージを作成しようとしましたが、プレイによるアラートはありませんでした。
Panache

ここに解決策を参照してください。stackoverflow.com/a/54976730/984471
ManoharさんレディPoreddy

私にとって同じ問題ですが、Google Playにアプリを公開していない他のキーストアを見つけ、アプリに正しく署名しました。このダイアログは表示されません!新しいアプリを作成しても問題はありません。複数のアプリケーションがあり、他のキーストアは私の新しいアプリケーションで正しく動作します!不明なアプリの開発者をグーグル決定する方法がわかりません!私はグーグルプレイコンソールアカウントを持っていません。
hamed hosiny

回答:


60

解決策を見つけました:下のリンクにアクセスして、アプリケーションを送信してください。

Playプロテクトアピール送信フォーム

数日後、問題は修正されます


3
@MostafaAzadi正確な理由は何でしたか?
Behnam Maboudi 2018

3
SSLを使用せず、マニフェストでプレーンテキスト通信を有効にしている場合、それが理由です。
DaniloDeQueiroz 2018年

1
あなたはAPKファイルをダウンロードするためのURLによって問題が発生した場合、これはhelfulです:stackoverflow.com/a/56513945/9710197
ムスタファアザディ

@DaniloDeQueiroz問題がクリアテキストの通信によるものであると確信していますか?削除android:usesCleartextTraffic="true"すると問題が解決するはずです?ありがとう。
AnthoPak

1
こんにちは。Playプロテクトを申請するためにアプリを送信できません。APKをアップロードするには?GitHub経由で直接ダウンロードリンクを提供していますが、apkをダウンロードできないというメールが届きます。
SayantanRC

40

私はより良い解決策を見つけました。あなたは、あなたがあなたのプレイストアを開く必要があり、この問題を克服メニュー内で検索したい場合は保護を再生 ここに し、 ここに チェックを外しセキュリティ上の脅威のスキャンデバイスを


78
これは解決策ではありません。アプリをクライアントまたはユーザー(プレイストアなし)に配布する必要がある場合、これを使用することはできません
silwar

1
おかげで、サイドロードされたアプリの迅速な1回限りの修正がうまくいきました。
ギュンターZöchbauer

1
@silwar私はプレイストアのないデバイスに問題があるとは思いません。ブロッカーはPlayストアだからです。
Jemshit Iskenderov 2018

@JemshitIskenderov私の場合、それはキーストアの破損の問題でした。私は自分のアプリ(エンタープライズアプリなので、playstoreで公開されていない)用に変更し、問題が修正されました
silwar

1
私の場合、問題は非公開アプリにGoogleゲームサービスを使用することでした。
Sattar Hummatli

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 2018

17
ええ、それはばかげているようです。さらに悪いことに、このポップアップはアプリケーションを初めてインストールしたときにしか表示されません。同意してインストールしても、次回のインストールで「サイレントインストールがブロックされました」というログが記録され、UIに「アプリがインストールされていません」というメッセージが表示されます。その時点で、Playプロテクトを完全に無効にするか、設定からPlayストアデータをクリアするだけで、再びポップアップが表示されます。これは、Playストアにあり、正常に動作している他の数十のアプリと同じスクリプトで生成したキーで発生します。
zsmb13 2018

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

12

Google Playはキーストアを介しデベロッパーとしてあなたを見つけます

また、新しいキーストアを生成すると、国のIPがGoogleで禁止される場合があります。

IPアドレスを変更して新しいキーストアを生成すると、問題は修正されます。

成功しなかった場合は、Android Studioで別のGmailを使用して、新しいキーストアを生成します。


あなたはこれをしましたか?私がこの問題を抱えているため、私のアプリケーションはイランから認証を受けており、アピールからアプリケーションを送信できません(テストできません)。どうすれば解決できますか?おかげで男
ニマhabibkhoda

4
うまくいきませんでした!私はキーストアを作成するためにkeytoolを使用しています
Amir Shabani '10

11

この警告を取り除くには3つのオプションがあります。

  1. PlayストアでPlayプロテクトを無効にする必要があります-> Playプロテクト->設定アイコン->デバイスをスキャンしてセキュリティの脅威を探します
  2. Google Playストアでアプリを公開する
  3. Playプロテクトに申し立てを送信します。

7

Playstoreにアプリをアップロードしたくない場合は、この問題の解決策をまだ探している他の人にこの回答を追加します。一時的にこの問題の回避策があります。

Googleが提供する安全デバイス検証APIは、アプリケーションで1回だけ呼び出す必要があり、その後はPlayプロテクトによってアプリケーションがブロックされません。

ここにリンクがあります:

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

サンプルコードプロジェクトのリンク:

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


1
@Ahmadもちろん、すべての同僚がこのAPIを使用してこれまでに20を超えるAPKをクライアントに渡した問題を解決し、完全に機能しています
Mr Patel

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から、キーストア、名前、会社などのパスワードを入力するように求められます。最後のプロンプトでyesと入力する必要があることに注意してください。

次に、現在のディレクトリにmy-release-key.keystoreというファイルとしてキーストアを生成します。キーストアとキーは、入力したパスワードによって保護されます。キーストアには、10000日間有効な単一のキーが含まれています。エイリアスは、アプリケーションに署名するときにこのキーストアを参照するために後で使用する名前です。

:キーツールの詳細については、次のドキュメントを参照してください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、以外の別のプラットフォームでアプリをリリースしようとすると、このエラーがユーザーに表示されます。したがって、2つの解決策があります。

  1. アプリで特別なトラッカーを使用する(firebaseとappmetricaはテスト済みで問題ありません)
  2. アプリをリリースする Google Play

0

解決策は、署名済みAPKを生成するときに新しいキーを作成することです。これは大騒ぎなしで私のために働いた。

  1. ビルドをクリックします
  2. 署名されたバンドル/ APKを生成...をクリックします。
  3. バンドル/ APK(私の場合はAPK)を選択し、[次へ]をクリックします
  4. [新規作成]をクリックします(マシンにキーストアパスがあることを確認してください)
  5. すべての後、[完了]をクリックして署名済みAPKを生成します

インストールすると警告は出ません。


0

デバッグ証明書の期限が切れているためdebug.keystoreです。

C:\Users\.android\

プロジェクトをビルドした後、ビルドツールは新しいキーを再生成し、正常に動作します。ここに参照があります:

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

-1

ソリューションではありませんが、リリースビルドに署名するためにデバッグキーを使用して、Google Playプロテクトからのインストールをブロックしないようにすることができます。Playプロテクトは自動生成されたで署名されたビルドについて警告しないようですdebug.keystore

デバッグビルドはunsignedではなく、デバッグキーで署名されていることに注意してください。

もちろん、ビルドを本番配布(Google Play、Amazonなど)に使用することはできませんが、高周波フィードバックループを必要とする本番前の内部テストには役立ちます。

build.gradle次のように構成をに追加することにより、debug.keystoreでリリースをビルドするタスクを追加できます。

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

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

次に実行します ./gradlew assembleReleaseDebugKey、デバッグキーを使用してリリースビルドをビルドするします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.