ハイブリッドアプリを作ってGoogle Play Storeへ公開しよう

スマートフォンアプリをマーケットへ登録する手順(Android編)

ionicを使ってついにアプリが完成した!
おめでとうございます。早速、あなたのアプリをGoogle Play Storeに公開しましょう。

ん・・・?しかしどうやってAndroidアプリをマーケットに登録するのでしょう?特にionicのようなハイブリッドアプリ開発者にとって、公開の手順はネイティブアプリの時とビルド方法などが違います。一度覚えてしまえば簡単ですので、ここで確認しておきましょう

ionicハイブリッドアプリのビルド

まずはリリースビルドです。開発中は ionic serveというコマンドで開発していきますが、完成したらちゃんとしたアプリの形にしなくてはなりません。リリースビルドはターミナルから
ionic build –release
と入力します。
少し待つと、BUILD SUCCESSEDと表示されますので、しばらく待ちましょう。
※ionic build –releaseはAndroidの他に、iOS用も併せてビルドしてくれます。

著名用のキーを作成する

Androidはアプリに署名を付けないと公開出来ませんので、署名用の鍵を作ります。
ターミナルから
keytool -genkey -v -keystore key -alias [アプリのパッケージ名] -keyalg RSA -validity 10000
と入力します。
※アプリのパッケージ名はURLを逆から読んだものです。例えば渡しの場合は、jp.sndbox.appname のようになります。
パスワードを聞かれるので任意のパスワードを入力して下さい。
その後ターミナルから「名前」とか、「組織」とか、色々聞かれてくるけれど、全て空欄でOKです。エンターで質問を流し、最後に Yと入力して下さい。
keytool
すると作業中のディレクトリに、作成したキー(ここではkey)ファイルが作成されます。

ビルドされたファイルに署名をする

ionicでビルドされたファイルに署名をします。ビルドされたファイルのパスがちょっと分かりにくいのですが、以下になります
プロジェクト名/platforms/android/build/outputs/apk/android-release-unsigned.apk
このファイルへ署名をします。ターミナルから次のコマンドを入力しましょう

jarsigner -verbose -tsa http://timestamp.digicert.com -sigalg SHA1withRSA -digestalg SHA1 -keystore key ./platforms/android/build/outputs/apk/android-release-unsigned.apk [アプリのパッケージ名]

jarは署名されました
と表示されればOKです

仕上げに圧縮する

Google Play Storeへ公開するためには、署名のあとに圧縮処理をしなければなりません。
これを忘れると、Google Play Storeにアップロードしてもエラーが返ってきます。
ターミナルから
zipalign -v 4 android-release-unsigned.apk make.apk

(ここではmake.apkというファイル名で出力されるように指定している。ファイル名を変えたければ、ターミナルの最後のファイル名を変更すれば良い)

Google Play Storeへアップロード

プロジェクトのディレクトリ直下にmake.apkファイルが作成されています。このファイルをGoogle Play Storeへアップロードすることで、Google Play Storeへ公開することができるようになりました。

結構手順が多くて面倒ですが、ほとんどの操作はコマンドライン上から行えるので、このホームページからコマンドの行だけ抜き出してメモ帳に残しておけば、後はほとんどコピー&ペーストするだけで出来ちゃいます。

コマンドは一見すると気難しそうに見えますが、画面による説明が不要なので簡単ですね