【10分で出来る】Androidのリリース用「署名付きapkファイル」の作成
Androidのリリース作業について、実施した事ない人がハラハラしないように簡単に説明します。まず、Androidのリリース作業で必要なのは下記です。
①Googleアカウント(開発者登録済のもの)
②署名付きapkファイル
③アプリアイコン、説明文、スクリーンショット
①については単純にGmailアカウントです。ただ、開発者になるには開発者登録を$20払って行っていなくてはなりません。リリースギリギリで実施しようとすると悲惨な事になるので早めに行いましょう。
ビジネスとしてのアプリリリースの場合、
1.ソースコード一式を渡してクライアントが実施する
2.開発者アカウントをクライアントからもらって代行する
3.開発者アカウントの作成から丸投げされる
の何れかになると思います。1のパターンが制作側としては一番楽ですね。特に技術に詳しい人がいない会社では2になる場合が多いです。3に関しては確率は低いですが、開発者アカウントはクレジットカードで支払ったりする事になるのであまり請け負わない方が良いかと思います。
で、ここからが本題でリリースに必要な「署名付きapkファイルの作成」を説明します。
Androidアプリはapkファイルを端末にインストールする事で実行出来、apkファイル自体は開発環境でビルドをすればいくらでも作れますが、開発者アカウントと紐付ける「署名」が無いとGooglePLAYでリリースする事は出来ません。
署名付きapkの作成は環境と手順さえ分かっていれば誰でも簡単に作れます。
1. keystoreファイルの作成
各アプリ毎発行するkeyファイルになります。これを使って署名を行う重要なファイルです。発行の手順はとっても簡単です。まずはMacでターミナルを開いて、usr/bin配下に移動してください。
1-1.ターミナルでキーファイル作成コマンドを実行
keytool -genkey -v -keyalg RSA -keystore ‾/[ファイルを格納するパス]/xxxx.keystore -alias [アプリ名] -validity 10000
赤字の部分はファイルを生成するパスになります。今回は誰のPCにもあるであろうDownloadフォルダに突っ込んでいます。別に生成場所はどこでも大丈夫です。オレンジの場所は作成するキーファイルのファイル名になります。このままコピって使う場合にはj-kawasakiの部分だけ変更して実行すれば大丈夫です。
1-2. キーファイルの情報を入力する
「姓名」、「組織名」、「組織単位名」、「都市名」とかを聞かれます。組織単位名とかは分かり難いと思うのですが、組織の○○事業部みたいなので指定したければ入れてください。未入力でもキーの作成には影響しません。関連する国の部分は「jp」といれておけば大丈夫です。これらの情報は特に外部に漏れるものでは無いです。
ここまで実行すると、ダウンロードフォルダ内に「xxxx.keystore」というファイルが出来ます。これが署名を行う為のキーファイルになります。
1点注意点として、このキーファイルでの署名はアプリのアップデートにも必要になります。万が一紛失してしまうとアプリがアップデート出来なくなりますので厳重に管理しましょう。(再度別キーファイルにすると別アプリとしてみなされてしまいます)
2.署名付きapkの作成
apkへの署名はコマンドでも出来ますが、以前実行したらなんかおかしな事になったのでこのエントリでは開発環境であるeclipceを使った方法を説明します。手順は簡単です。
2-1.プロジェクトを右クリックして「Android tools」を選択
2-2. 署名付きapkの作成を選択
2-3. keyStoreファイルを選択し、パスワードを入力
2-4.署名付きapkの格納先を選択
で、finishすると署名付きのapkファイルが出来ます。
署名付きapkは未署名と同様に実機にインストールして確認出来ますので配布前に必ず確認しましょう。※既に開発用のapkが端末に入っている場合は必ずアンインストールしてくださいね
署名付きファイル同士であれば上書きが出来るので、例えばアプリをバージョンアップする時は上書きインストールすれば実際にユーザがストアからアップデートした時の挙動が確認出来ます。データの引き継ぎとかが気になる場合にはこれも確認しましょう。
□今回の要点をざっくりいうと
1. ストアにリリースするには署名付きのapkファイルが必要です
2. 署名をする為のキーファイルは紛失しないように厳重管理しましょう
3. アプリのアップデート時には署名ファイルを使ってアップデート動作確認をしましょう
慣れると手順は簡単なのですが、お仕事としてリリースする場合にはミスが無いように神経尖らせて実施しましょう。