見出し画像

Androidの署名について

アプリを新規に作成する機会があり、久々に混乱したこともあったのでまとめました。初心者向けです。

アップロードキーとキーストアの生成

アプリを署名・アップロードする際に必要なものについて準備します。

AndroidStudioのメニューからBuildGenerate Signed Bundle / APK...を選択します。Flutterのプロジェクトを開いている場合はこのメニューが表示されませんので、androidパッケージの中をAndroidStudioで開いてください。

スクリーンショット 2020-02-29 14.41.49

AppBundleとAPKの選択肢が表示されますが、それはどちらでも構いません。その後、下のようなダイアログが表示されるのでCreate new...を選択します。

スクリーンショット 2020-02-29 14.47.02

すると、以下の画面でキーストアとキーの生成ができるようになります。

スクリーンショット 2020-02-29 14.56.23

ここで用語を噛み砕いて説明すると、キーストアはファイル本体で、その中に複数のキーを含めることができます。ここでは、キーストアに[upload]という名前(Alias)のアップロード用のキーを1つだけ作っています。パスワードが2つ必要なのも、キーストア本体と、その中の各キーそれぞれにパスワードが必要なためです。

キーのCertificateはこのキーストアの所有者情報です。ユーザが目にすることはありませんが、証明書情報としてアプリバイナリに組み込まれます。
First and Last Nameは名前、もしくはドメインでもOKです。Organizational Unitは所属部署、Organizationは企業名、続いて企業の所在地、Country Codeを入力します。

すべて入力したらOKを押すとキーストアの完成です。Generate Signed Bundle or APKのダイアログに戻りますが、これはキャンセルで閉じてOKです。

ちなみにKey store pathに既存のキーストアを指定すると、そのキーストアに新しいキーを追加することができます。するとアプリバイナリを生成する際、以下のようにKey aliasでキーを選択できるようになります。

画像4

あとはSigned APK/Bundleを作成する際はこのKeyで署名してアップロードすると、以後、同じKeyで署名したものしかアップロードできなくなります。

Google Play App Signingとは

スクリーンショット 2020-02-29 15.59.34

公式ページから画像を拝借してきました。今までの仕組みでは、アプリを固める際に使用した署名鍵は、ストアへのアップロードから配信まで同じ署名鍵を使って行われていました。その場合、万が一署名鍵が紛失・流出した場合、対処方法がありませんでした。(新しいパッケージで公開し直すしかない)

一方、Google Play App Signingを使った場合、ストアへのアップロードは開発者が管理している署名鍵をそのまま使いますが、ストアからユーザへの配信の際はStoreが管理する別の署名鍵(開発者も入手できない)を使用します。この場合、万が一署名鍵を紛失した場合も、アップロードの署名鍵を更新するだけで今まで通り配信を続けることが可能になります。
当然、アップロードキーを更新する際はGoogleに問い合わせるなど手順が必要になりますが、復旧方法があることはとても大きなメリットです。

Google Play App Signingの設定

アプリのリリース管理 > アプリの署名を開き、Google Play App Signingの設定で「次へ」を押して有効化するだけです。有効になると以下のような表示になります。

スクリーンショット 2020-02-29 16.18.12


この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
1
Android/iOS Developer 川崎フロンターレサポーター https://play.google.com/store/apps/details?id=com.shcahill.android.frontale&hl=ja
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。