Android Studio アプリへの署名とアプリファイルの書き出し:aabファイルの作成 – Androidアプリ開発(5)
2023/02/16 2024/07/19
Androidアプリ開発の5回目です。
一連のアプリ公開の流れはこちらから -> Androidアプリ開発の公開手順
今回の記事の前提として、Android Studio や Flutter などでアプリを公開する準備は整った状態であるとします。(Android アプリの実際のコードの作成方法等については今後記事する予定です)
目次
1. アプリへの署名とは?
Android Studio のユーザーガイド には「Android では、APK をデバイスにインストールしたり更新したりする前に、証明書を使用してすべての APK にデジタル署名する必要があります。」と記載されています。
要は、アプリをリリースするためには、アプリへの署名は必須ということ。なので、次の項で作成手順をご案内します。
豆知識
※ Android App Bundle とは?
Android App Bundleは、アプリのコンパイル済みコードとリソースがすべて含まれた公開形式です。App Bundle についてもっと詳しく知りたい方は Android Studio ユーザーガイド へ
知っておくべき鍵(Key)
アップロード鍵(Upload key)
アップロードする前に、アプリ開発者が App Bundle への署名に使用する鍵(Key)のことです。
アップロード鍵は誰にも知られないように保管する必要があります。
間違っても Github にあげないよう気をつけましょう。
アプリ署名鍵(App signing key)
アップロード鍵を使って作られた App Bundle を Google Play Console にアップロードすることで、Google Play によって最適化した APK を生成、配信し、ユーザーが安全にダウンロードできるようになります。
アプリの全期間にわたって変更されることはありません。
現在、Google Play で新規アプリを公開するためには Android App Bundle(.aab)で行うことが必須となっています。そのため、アプリ署名鍵については、Google Play にお任せすればOKです。
2. キーストアとアップロード鍵を生成する
では、キーストア、アップロード鍵を生成しましょう。
Android Studio もしくはコマンドラインを使用することで生成できます。
今回は Android Studio で生成します。
まず Android Studio を立ち上げ作成したアプリを開いておきましょう。
手順
メニューバー
[Build]

[Generate Signed Bundle/APK] をクリック

[Android App Bundle] を選択
[Next] をクリック

[Create new… ] をクリック
[New Key Store]ウィンドウにキーストアと鍵の情報を指定

Key store path:
キーストアを作成する場所を選択します。
また、ファイル名は、.jks 拡張子を付けて場所のパスの末尾に追加する必要があります。
Password:
パスワードを作成し Confirm: で再度入力します。
Alias:
鍵を識別する名前です。upload などでOK
Password:
パスワードを作成し Confirm: で再度入力します。
Validity(years):
鍵の有効期間(年単位)デフォルトは25年です。
私は50年にしています。
Certificate
証明書の所有者に関する情報を入力します。
アプリには表示されませんが、APKの一部として証明書に含まれる情報となります。
First and last Name:
氏名
Organizational Unit:
部門名 Mobile などわかりやすいものでOK
Organization:
組織名 デベロッパー名などを入れてもよいかもしれません
City or Locality:
都市または地方 未記入でも可
State or Province:
州または県 未記入でも可
Country Code(XX):
国コード 日本の場合は JP
フォームの入力が完了したら、[OK] をクリック
これでアップロード鍵が作成できました。
つづいて、AABファイルの作成です。
(PR)
3. アプリファイルを書き出す(aabファイルの作成)

Key store path 2. で設定したpath
Key store password 2. で設定したパスワード
Key alias 2. で設定したalias
Key password 2. で設定したパスワード
Export encrypted key for enrolling published apps …. のチェックは外しましょう。
[Next] をクリック

Destination Folder:
生成されたアプリ(.aabファイル)の保存先フォルダを指定します。
パスは表示されていると思いますので、その場所でよいか確認しましょう。
release を選択
[Finish]
完成です!
Destination Folder で指定した場所にファイルがあるか確認しましょう。
(指定したパス)/release/app-release.aab
次はいよいよ
アプリを Play Console へ!
リリースに向けて内部テストに進みたいと思います。
さてここで、ちょっとブレイクして私の作成した1つめのアプリをご紹介します。
アプリ「NumPuzzle – ナンバーパズル」
温泉旅館などにあると、なぜか指を動かしてやってしまうロングセラーの「ナンバーパズルゲーム」。
数字を1から順に並べるだけのシンプルなものです。
すでにさまざまな種類のアプリがたくさんあるので似たようなものを「すでに持っている」という方もいらっしゃると思いますが、このアプリとの特徴は、なんと 10×10 という超難問があること。
完成までのベストタイムが記録されるので、なんとなく達成感も得られます。
私もちょっとした時間があれば 3×3 や 4×4 をやっちゃいます。
( 10×10 は超難問なので、気合を入れた時だけ。でもできたらとっても嬉しいです。)

広告についても、子どもに影響のあるものは出ないようにセッティングしていますので、小さいお子さんと一緒に楽しむこともできます。
お時間がすこーしできたときの暇つぶし用にぜひ。
かなり軽く作ったのでサクサク動かせると思います。