私は多くの開発者が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に署名する必要がある新しいアップロードキーストアの作成方法について、もう少し詳しく説明します。
このガイドはすでにPlayストアにアプリケーションを持っている開発者向けです。あなたが新しいアプリから始めているなら、そのプロセスはずっと簡単で、あなたは からパラグラフ "New apps"のガイドラインに従うことができます
開発者の99%がすでに持っていることの前提条件:
Android Studio
JDK 8そしてインストール後、端末コマンドを簡単にするためにユーザースペースに環境変数を設定する必要があります。 Windows x64では、これを追加する必要があります:C:\Program Files\Java\{JDK_VERSION}\bin
をPath
環境変数に。 (これを行う方法がわからない場合は、 Windows 10 Path
環境変数にフォルダーを追加するための私のガイド を読むことができます)。
ステップ0:Google Play開発者コンソールを開き、リリース管理 - >アプリケーションの署名に進みます。
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
伝説:
C:\Users\YourName\Downloads\pepk.jar
のようになります。C:\Android\mykeystore
やC:\Android\mykeystore.keystore
などのようなものです...C:\Android\private_key.pem
のようなものeb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
例:
Java -jar "C:¥Users¥YourName¥Downloads¥pepk.jar" --keystore = "C:¥Android¥mykeystore" --alias = myalias --output = "C:¥Android¥private_key.pem" - encryptionkey = eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b6566a9bb
Enterキーを押すと、順番に入力する必要があります。
すべて問題なければ、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 -file PATH_TO_OUTPUT_FILE
伝説:
C:\Android\upload_key.jks
でした。upload
でした。C:\Android\upload_key_public_certificate.pem
のようなもの。例:
keytool -export -rfc -keystore "C:\ Android\upload_key.jks" -aliasアップロードファイル "C:\ Android\upload_key_public_certificate.pem"
Enterキーを押すと、キーストアのパスワードを入力する必要があります。
すべてうまくいったら、PATH_TO_OUTPUT_FILEフォルダーにupload_key_public_certificate.pem
という名前のファイルがあります。
ステップ6:下の画像と同じボタンをクリックしてupload_key_public_certificate.pem
ファイルをアップロードする
ステップ7:[App Signing]ページの最後にある登録ボタンをクリックします。
すべての新しいリリースのAPKは、Google Play Developerコンソールにアップロードされる前に、ステップ4で作成されたupload_key.jks
キーストアとエイリアスで署名されている必要があります。
その他の資料
Q:新しいupload_keyキーストアで署名したAPKをアップロードすると、Google Playで次のようなエラーが表示されます。署名なしのAPKをアップロードしました。署名付きAPKを作成する必要があります。
A:リリースAPKの構築中に、両方の署名(V1とV2)でAPKに署名することを確認してください。詳細はこちら をご覧ください 。
ステップ4、5、6は、既存のアプリではオプションのアップロードキーを作成することです。
「アップロードキー(既存のアプリではオプション):プログラムへの登録中に生成した新しいキー。プレイコンソールにアップロードする前に、今後すべてのAPKに署名するためにアップロードキーを使用します。 https://support.google.com/googleplay/Android-developer/answer/7384423
少し時間がかかりますはるかに簡単な解決策があります。
完了しました。
これで、以前に生成したリリースをアップロードすることができます。
私は以下のことをしなければなりませんでした:
2.Appリリースに移動 - >生産管理 - >リリース作成
3.Google Playアプリの署名を続けるをクリックします
4.「keytool -genkey -v -keystore c:\ path\to\cert.keystore -alias uploadKey -keyalg RSA -keysize 2048-validity 10000」を実行して、アップロード証明書を作成します。
5.生成された証明書(c:\ path\to\cert.keystore)を使用してapkに署名します。
6.署名付きapkをアップロードアプリのリリース - >制作管理 - >リリースの編集
7. apkをアップロードすることで、ステップ4で生成された証明書がApp Signing certificatesに追加され、今後のすべてのビルドのための署名証明書になりました。
パブリックベータ版(prod configで署名)にFabricを使用する場合、使用しないでくださいGoogle Play App Signing。あなたは2つの署名されたapkを構築した後にしなければならないでしょう!
あなたがより多くのプレイストア(サムスン、アマゾン、xiaomi、...)に配布するとき、あなたは再び2つの署名されたapksを作らなければならないでしょう。
そのため、Google Play App Signingには十分注意してください。
元に戻すことはできません:/およびGoogle Playは、プロダクションキーで署名されたAPKを受け入れた後に受け入れられませんでした。 Google Playアプリの署名を有効にした後はアップロードキーのみが受け付けられます...
それは本当にCI配布を複雑にします...
アップグレードに関する次の問題: https://issuetracker.google.com/issues/69285256
I face this issue when i am trying to migrate Apk to Android App Bundle means publishing .aab instand of .apk file..
while building .aab file its will ask the location to store key export path.
as below
2番目の画像には、暗号化されたキーのエクスポートパスがあります。pepkが.aabファイルの生成中に特定のフォルダーに保存する場所。
In Google Play Console once you login with Play Store credential
select your project from left side choose App Signing option Release Management>>App Signing
google App Signing Certificationウィンドウが表示されます。
その後、3つのラジオボタンを選択します**
Android Studioラジオボタンからエクスポートされたキーをアップロードします
**、以下のようにAPP SIGNING PRIVATE KEYボタンを展開します
click on the button and choose the .pepk file (We Stored while generating .aab file as above)
Read the all other option and submit.
成功したら、アプリのリリースに戻って.aabファイルを参照し、RollOutを完了することができます...
しゅう
以下をせよ :
"CREATE APPLICATION" having the same name which you want to upload before.
Click create.
After creation of the app now click on the "App releases"
Click on the "MANAGE PRODUCTION"
Click on the "CREATE RELEASE"
Here you see "Google Play App Signing" dialog.
Just click on the "OPT-OUT" button.
It will ask you to confirm it. Just click on the "confirm" button