アプリのビルド方法

Androidは凄まじい速度で仕様が変化します。

なので時間が経つと

  • メニュー名が変わったり、
  • 新たに新しい機能が追加されたり、
  • UI自体が刷新されたり、

する可能性が高いです。(その場合、この記事の内容が役に立たなくなるかもですがあしからずです)

先日、ちまちま作っていたアプリが完成したので、いざアプリを作成(ビルド)することにしました。

てわけでビルド方法について調べたのでメモ。

アプリのビルド方法

アプリのビルドは、メニューの「Build」→「Generate Signed Bundle / APK…」から行えます。

 

開くとこんな感じの画面↓。

 

「2つあるけどどっちを選べばいいの?」って話ですが、2つの違いはザックリ以下のとおりで

  • Android App Bundle
    →最新の方式
  • APK
    →従来の方式

参考Android App Bundleとは?APKとの違い

Google Playで配布したい場合はAndroid App Bundleを選ぶ。

自サイトで配布したりしたい人はAPKを選ぶ。

(ここではAndroid App Bundleを選んだものとして進めます)

 

Android App Bundleを選ぶと以下のようなウィンドウが開きます。

いろいろ項目がありますが、これらの項目はすべて”デジタル署名”についての項目です。

デジタル署名とは何かというと、Androidアプリでは、アプリを作成する(ビルドする)際に「ワイが作ったアプリやで!」みたいな署名(ハンコみたいなもの)をしないといけないんですが、その署名のことです。

んで、その署名情報は「暗号化しておかないと他人が勝手になりすましたりできちゃうから危ないよね」ってことで、キーストアというファイルの中に暗号化されて保存されます。

 

キーストアとは「金庫を保存するための金庫」のようなもので、詳しくは以下のリンク先を見ていただきたいのですが

参考キーストアとは?

要するに今からすべきことは

  • キーストアファイルを作る
  • キーストアのパスワードの決める
  • エイリアス名を決める
  • エイリアス名に対応したパスワードを決める

の4つです。

「大小2つの金庫を作って、大きい金庫に小さい金庫を入れる」みたいなイメージです。

 

なのでまず、キーストアファイルを作るために「Creat new...」というボタンを押します。

すると以下のようなウィンドウが開くので、さきほどの4つを決めるために各項目を入力します。

  • Key store path:
    →キーストアファイルをどこに保存するか
  • Password:
    →キーストアファイルのパスワードを入力する
  • Confirm:
    →Passwordを再度入力する

Key—————-

  • Alias:
    →エイリアス名を入力する
  • Password:
    →エイリアス名に対応したパスワードを入力する
  • Confirm:
    →Passwordを再度入力する
  • Validity:
    →署名の有効期間。推奨は25年らしいですが、この期限が切れるとGoogle Playでアプリの更新ができなくなるのでなるべく長い期間に設定した方が良いとおもいます。
  • Certificate:(この項目についてはどれか一つテキトーに入力すればOK。逆にすべて入力してもOK。)
    • First and Last Name:性名
    • Organizational Unit:部門名
    • Organization:組織
    • City or Locality:所在地
    • State or Province:都道府県
    • Country Code(XX):国コード(たとえば日本の場合:JP)

 

ちなみに私の場合、以下のような感じで入力しました。

▲長ければ長いほどいいでしょってことで999年にしました

入力がおわったらOKを押します。

 

OKを押すと、自動的に入力された先ほどの画面に戻ります。

  • Key store path:
    →キーストアがある場所を指定する(先ほど作った場合は、勝手に指定されている)
  • Key store password:
    →キーストアのパスワードを指定する(先ほど作った場合は、勝手に指定されている)
  • Key alias:
    →エイリアスを指定する(先ほど作った場合は、勝手に指定されている)
  • Key password:
    →パスワードを指定する(先ほど作った場合は、勝手に指定されている)
  • Remember passwords:
    →パスワードを記憶させる(使っているのが自分PCで何度もビルドする場合はつけておいていいかも)
  • Export encrypted key for enrolling published apps in:
    →後述します(チェック必須)

 

Export encrypted key for enrolling published apps inについてですが

Android App Bundleでビルドする場合、.pepk(Play Encrypt Private Key) というキーファイルもGoogle Playにアップロードする必要があるのでチェックをつけて場所を指定します。

 

.pepkの詳細についてはこのページ(Android App Bundleとは?APKとの違い)で書いたとおりなのですが

例えばAPKでアップロードする場合は、APKをビルドする際に「このアプリはワイが作ったアプリやで!」みたいな署名を自分でするわけですが

Android App Bundleでアップロードした場合は、実際にビルドするのはGoogleなわけなので「このアプリはワイが作ったアプリやで」という署名作業に使うためのキーファイルをGoogleに渡さないといけないよねーみたいな理屈です。

なのでExport encrypted key for enrolling published apps inにチェックをつけて、.pepkファイルを出力する必要があるという理屈です。

「だったらキーストアをアップロードするんじゃないの?キーストア=署名情報なんじゃないの?」

と思うかもですが(私はそう思いました)、Googleとしてはキーストアじゃなくて実際に署名に使う情報(エイリアスまたは秘密鍵または証明書情報ともいうらしい)だけあれば事足りるので、「pepkというツールで署名に使う情報だけを抜き出してアップしろよ」ってことなのかもしれません。

要するに、「金庫じゃなくて中に入ってる鍵だけを暗号化して渡せ」と。

 

最後にBuild Variantsを選択して(よくわからない人はreleaseを選べばOK)Finishをクリック。

 

これであとはビルドされるのを待つだけです。

ビルドが完了したら

プロジェクトフォルダ名\app\release

の中にビルドされています。

あとはこれをGoogle Playコンソールにアップロードしたら完了です。

 

最後に指定した場所に.pepkファイルも出力されているはずなので、そのファイルもGoogle Playコンソールにアップロードします。

Android
スポンサーリンク
この記事を書いた人
penpen

1991生まれ。WEBエンジニア。

技術スタック:TypeScript/Next.js/Express/Docker/AWS

フォローする
フォローする

コメント

タイトルとURLをコピーしました