1. ホーム
  2. android

[解決済み] Google Playアプリのサインを有効にする方法

2022-05-12 15:27:03

質問

Google I/O 2017で発表された新しいGoogle Play App Signing機能について、多くの開発者が知ろうとしていると思います。

Google Play内でアプリに署名するためのキーストアを安全に保存できるため、キーストアを保存する手間が省け、ハードウェアやOSの特性に基づいて、すべてのデバイスに提供されるAPKをシステムが最適化するのを助けることができるのです。

このトピックについては、こちらの公式ドキュメントで詳しく説明されています。 https://developer.android.com/studio/publish/app-signing.html#google-play-app-signing .

次の回答では、元の鍵ストアをアップロードするために必要な手順と、この時点から APK に署名するために必要となる新しいアップロード鍵ストアを作成する方法について、もう少し詳しく説明したいと思います。

どのように解決するのですか?

先に進む前に、この Android Developers ビデオを見て、App Signing enrollment の選択の意味を理解してください。 https://youtu.be/odv_1fxt9BI

このガイドは、Play ストアにすでにアプリケーションを持っている開発者向けです。新しいアプリで始める場合は、プロセスがはるかに簡単で、次の段落のガイドラインに従うことができます。 ここから

99%の開発者がすでに持っている前提条件 :

  1. アンドロイドスタジオ

  2. JDK 8 で、インストール後、ターミナルコマンドを簡略化するために、ユーザースペースに環境変数を設定する必要があります。Windows x64では、次のように追加する必要があります。 C:\Program Files\Java\{JDK_VERSION}\binPath 環境変数に追加します。(この方法がわからない場合は、私のガイドの にフォルダーを追加し、Windows 10 の Path 環境変数 ).

ステップ0 : Google Play 開発者向けコンソールを開き、以下のページにアクセスします。 リリース管理 -> App Signing .

App Signing TOSに同意する。

ステップ1 : 以下の画像と同じボタンをクリックして、PEPKツールをダウンロードしてください。

ステップ2 : ターミナルを開き、タイプしてください。

java -jar PATH_TO_PEPK --keystore=PATH_TO_KEYSTORE --alias=ALIAS_YOU_USE_TO_SIGN_APK --output=PATH_TO_OUTPUT_FILE --encryptionkey=GOOGLE_ENCRYPTION_KEY

レジェンドです。

  • PATH_TO_PEPK = でダウンロードした pepk.jar へのパス。 ステップ1 のようなものです。 C:\Users\YourName\Downloads\pepk.jar Windows ユーザーの場合。
  • パス_to_keystore = リリースAPKに署名するために使用するキーストアへのパス。.keystoreまたは*.jksのファイル、あるいは拡張子なしのファイルである。以下のようなものです。 C:\Android\mykeystore または C:\Android\mykeystore.keystore などなど...
  • alias_you_use_to_sign_apk = リリースAPKに署名するために使用するエイリアスの名前です。
  • パス_to_output_file = 拡張子が .pem の出力ファイルのパスで、以下のようなものです。 C:\Android\private_key.pem
  • google_encryption_key = この暗号化キーは常に同じである必要があります。App Signingのページにありますので、コピー&ペーストしてください。この形式である必要があります。 eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a

java -jar "C:\UsersYourNameDownloads

Enterキーを押すと、順番に提供する必要があります。

  1. キーストアのパスワード
  2. エイリアスパスワード

すべてがうまくいった場合、PATH_TO_OUTPUT_FILEフォルダーにある private_key.pem .

ステップ3 : 以下の画像と同じボタンをクリックして、private_key.pem ファイルをアップロードしてください。

ステップ4 : Android Studioを使用して、新しいキーストアファイルを作成します。

この鍵ストアは、アプリの次のリリースに署名するために将来必要になります。 パスワードを忘れないでください。

Androidプロジェクトを1つ開きます(ランダムに1つ選択します)。に移動します。 ビルド -> 署名付きAPKを生成する をクリックし 新規作成 .

では、必須項目を埋めてください。

<ブロッククオート

鍵ストアのパスは、新しく作成する鍵ストアを表します。右側の3つの点のアイコンを使ってフォルダと名前を選びますが、私は C:\Android\upload_key.jks (.jks 拡張子が自動的に追加されます)

<ブロッククオート

注意: 私は upload を新しいエイリアス名として使用しましたが、以前に同じ鍵ストアで異なるエイリアスを使用して異なるアプリに署名した場合、元の鍵ストアで以前に使用したのと同じエイリアス名を選択する必要があります。

終了したらOKを押して、新しい upload_key.jks キーストアが作成されます。これでAndroid Studioを終了することができます。

ステップ5 : アップロード証明書を、新しく作成した upload_key.jks キーストアからアップロード証明書を取り出す必要があります。 ターミナルを開き、次のように入力します。

keytool -export -rfc -keystore UPLOAD_KEYSTORE_PATH -alias UPLOAD_KEYSTORE_ALIAS -ファイル PATH_TO_OUTPUT_FILE

レジェンドです。

  • アップロード_キーストア_パス = 先ほど作成したアップロードキーストアのパスです。この場合は C:\Android\upload_key.jks .
  • アップロード_キーストア_エイリアス = アップロード鍵ストアに関連付けられた新しいエイリアスです。この例では upload .
  • パス_to_output_file = 拡張子が.pemの出力ファイルへのパス。以下のようなもの。 C:\Android\upload_key_public_certificate.pem .

例です。

keytool -export -rfc -keystore "C:\Androidupload_key.jks" -alias upload -file "C:\Androidupload_key_public_certificate.pem".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX。

Enterを押すと、キーストアのパスワードを入力する必要があります。

すべてがうまくいった場合、PATH_TO_OUTPUT_FILEフォルダーに、次のような名前のファイルが作成されます。 upload_key_public_certificate.pem .

ステップ6 : をアップロードします。 upload_key_public_certificate.pem ファイルをアップロードします。

ステップ7 : クリック 登録する ボタンをクリックしてください。

これで、すべての新しいリリースの APK は、署名に upload_key.jks で作成されたキーストアとエイリアスに署名しなければなりません。 ステップ 4 を、Google Play Developerコンソールでアップロードする前に作成します。

その他のリソース

Q&A

Q: 新しいupload_key keystoreで署名したAPKをアップロードすると、Google Playで次のようなエラーが表示されます。 あなたは署名されていないAPKをアップロードしました。署名されたAPKを作成する必要があります。 .

A: リリース用APKを構築する際に、両方の署名(V1、V2)で署名するよう確認してください。読む ここで をご覧ください。

アップデイト

ステップ4,5,6は、既存アプリのオプションであるアップロードキーを作成するためのものです。

アップロードキー(既存アプリではオプション)。プログラムへの登録時に生成される新しいキーです。アップロード キーは、Play コンソールにアップロードする前に、今後すべての APK に署名するために使用します。 https://support.google.com/googleplay/android-developer/answer/7384423