署名されたアプリケーション(app-release.apk)をインストールしようとすると、「Blocked by Play Protect」アラートが表示され、アプリがインストールされていません。ただし、署名されていないアプリケーション(app-debug.apk)は問題なくインストールできます。
エラーメッセージ:
Playプロテクトはこのアプリの開発者を認識しません。不明な開発者のアプリは、安全でない場合があります。
なぜこのエラーが発生したのですか?解決策は何ですか?
署名されたアプリケーション(app-release.apk)をインストールしようとすると、「Blocked by Play Protect」アラートが表示され、アプリがインストールされていません。ただし、署名されていないアプリケーション(app-debug.apk)は問題なくインストールできます。
エラーメッセージ:
Playプロテクトはこのアプリの開発者を認識しません。不明な開発者のアプリは、安全でない場合があります。
なぜこのエラーが発生したのですか?解決策は何ですか?
回答:
android:usesCleartextTraffic="true"
すると問題が解決するはずです?ありがとう。
私はより良い解決策を見つけました。あなたは、あなたがあなたのプレイストアを開く必要があり、この問題を克服メニュー内で検索したい場合は保護を再生 し、 チェックを外しセキュリティ上の脅威のスキャンデバイスを。
新しいキーストアを作成して古いものと置き換えてから、新しい署名済みAPKを再構築してください。
更新:サーバーでhttp接続を使用している場合は、SSLを使用する必要があります。
を見てみましょう: ください https //developer.android.com/distribute/best-practices/develop/understand-play-policies
Google Playはキーストアを介してデベロッパーとしてあなたを見つけます。
また、新しいキーストアを生成すると、国のIPがGoogleで禁止される場合があります。
IPアドレスを変更して新しいキーストアを生成すると、問題は修正されます。
成功しなかった場合は、Android Studioで別のGmailを使用して、新しいキーストアを生成します。
この警告を取り除くには3つのオプションがあります。
Playstoreにアプリをアップロードしたくない場合は、この問題の解決策をまだ探している他の人にこの回答を追加します。一時的にこの問題の回避策があります。
Googleが提供する安全デバイス検証APIは、アプリケーションで1回だけ呼び出す必要があり、その後はPlayプロテクトによってアプリケーションがブロックされません。
ここにリンクがあります:
https://developer.android.com/training/safetynet/attestation#verify-attestation-response
サンプルコードプロジェクトのリンク:
私にとって有効な唯一の解決策は、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
解決策は、署名済みAPKを生成するときに新しいキーを作成することです。これは大騒ぎなしで私のために働いた。
インストールすると警告は出ません。
ソリューションではありませんが、リリースビルドに署名するためにデバッグキーを使用して、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
、デバッグキーを使用してリリースビルドをビルドするします。