開発したAndroidアプリを、GooglePlayで公開するために電子署名を付与する(後編)

キーケースは鍵がばらばらにならずに管理できて便利だよね

みなさん、こんにちは!

日本中の宇野さんが、もれなく学生時代に 「宇野!UNOやろうぜ」といじられたことがあることを知っているあらたまです。

さて今日も引き続き開発したAndroidアプリへの電子署名の付与についてお話ししたいと思います。

おさらい

前回では 電子署名の意味や役割、そして署名をするためのおおまかな方法をお話ししましたね。

電子署名を付与するおおまかな流れ

  1. 「暗号鍵」を生成する
  2. 暗号鍵を使って、電子署名を付与する
  3. 暗号鍵を大切に保管する

今回は実際にアプリに電子署名を付与していきましょう。

プロジェクトを開く

まずは、Android Studioで開発したアプリのプロジェクトを開いてください。

まだアプリを開発していない場合は、今回の実験用に新しくプロジェクトを作成しましょう。

プロジェクトの作成については、
【はじめてのAndroidアプリ開発入門】アプリプロジェクトの作成
の方で詳しく説明していますので、良ければご参照くださいね。

電子署名を付与を開始する

それでは、早速始めていきましょう。
「Build」メニューから「Generate Signed Bundle / APK ...」をクリックします。

最初に「出力されるアプリの形」を選択します。

電子署名が付与されたあとのアプリの形には、二つの種類を選ぶことができます。 とくに希望がなければ「Android App Bundle」の方を選択しましょう。

Android App Bundle(Android アプリバンドル)

Android Studio 3.2から選択できるようになった新しいファイルの形です。

最終的には、Google PlayからAndroid端末にダウンロードされるときに、後術するAPKの形に変換されます。

APKへの変換はGoogle Play側によって自動で行われます。
その際、各Android端末に応じて必要となるリソースファイル(画像など)のみが選択されてAPKに含まれるため、 ダウンロードされるアプリのファイルサイズを小さくすることができます。

APK(Android application package)

Androidアプリ向けの昔ながらのファイルの形です。

色々なAndroidの端末に応じたリソースファイルをすべて含んだ状態で作成されるため、 アプリのファイルサイズが大きくなってしまう可能性があります。

「暗号鍵」を生成する

出力するアプリの形を選択したら、電子署名に使用する「暗号鍵」を作成します。

「Key Store Path」の欄の「Create new...」をクリックします。

Key Store(キーストア)

キーストアは鍵の入れ物のことです。
イメージとしてはキーケースのようなものですね。 キーストア(キーケース)の中には複数の鍵を入れて保管することができます。

キーストアに対してキー(Key)は暗号鍵そのもののことです。

キーストアとキーの情報を入力します。

画面の上部がキーストアの情報、「Key」欄より下がキーの情報です。
例えば、パスワードの入力欄が二か所ありますが、 上部のパスワード欄はキーストアを開くためのパスワード、 下部のパスワード欄はキーを使うためのパスワードです。

入力したら「OK」をクリックします。

「暗号鍵」を選択する

「OK」をクリックしたらひとつ前の画面に戻りましたね。

Key Store Pathで使用するキーストアを指定し、 Key aliasでキーストア内のどのキーを使うかを選択しています。

二か所のパスワード入力欄は前述したとおりです。

Export encryped key ...
Encryped key export path

「Google Play App Signing」と呼ばれる暗号鍵の管理方法を採用するときに使う設定箇所です。

Google Play App Signingはアプリの署名に使用する暗号鍵をGoogleに預け、アプリのアップロードにはエクスポートされた別の暗号鍵を使用する方法です。

万が一アップロード用のキーを紛失したり、漏洩したりした場合も アプリ署名用の鍵は無事なので、Googleとの事務手続きでアップロード用キーを更新すれば、 引き続きアプリのアップデートが行えるようになるメリットがあります。

リリース用、デバッグ用の選択

アプリをユーザーに配布する用のリリース(release)と、 アプリの動作テスト用のデバッグ(debug)のどちらかを選択します。

デバッグを選択すると正規の暗号鍵ではなく、デバッグ用の仮の鍵で署名されます。

どちらかを選択したら「Finish」をクリックします。

Google Playにアップロードする

画面の右下に画像のようなポップアップが表示されたら、電子署名の付与が完了です!

プロジェクトフォルダのappフォルダ配下に電子署名が付与されたアプリのファイルが生成されています。

このファイルをGoogle Play Consoleで

アップロードしてあげればユーザーにアプリを配布することができますねっ

今回はここまでです!

前後編でお送りしたアプリへの電子署名の付与方法、いかがでしたか?

電子署名と聞くとなんとなく複雑そうに聞こえますが、 一度理解してしまえば、あとは簡単な操作をするだけですので 是非試してみてくださいね。