WindowsでPhoneGapアプリ開発 Google Playリリース用apkの書き出し

[WindowsでPhoneGapアプリ開発＆デバッグ環境構築](http://qiita.com/tsunet111/items/2ab7a1bfdf58a08af38f) の続編です。
Google Play に、Android アプリを登録するためのリリース用 apk を生成するまでの手順です。

##準備1：PATH追加しておく
環境変数の PATH に、リリース用のパッケージを行うためのツールのパスを追加します。

![スクリーンショット 2014-11-16 14.46.55.png](https://qiita-image-store.s3.amazonaws.com/0/24420/d0addaf4-c999-72cd-444f-91d3465ccfea.png)

Android SDK をインストールしたフォルダ配下 `build-tools` フォルダの中の一番大きい数字（新しいバージョン）のパスを追記します。
この記事を書いた時点では、`%ANDROID_HOME%\build-tools\21.1.1` と追記しました。

##準備2：署名ファイルの生成
リリース用に署名を行うために、署名ファイルを作成します。
PowerShellから以下のコマンドを打ちます。
JavaのPATHが通っていれば、実行フォルダはどこでも問題ありません。

```
keytool -genkey -v -keystore [生成するファイル名].keystore -alias [この署名の任意の名称] -keyalg RSA -keysize 2048 -validity 10000
```

![スクリーンショット 2014-11-16 15.07.28.png](https://qiita-image-store.s3.amazonaws.com/0/24420/8af3d997-c404-adfe-f9ed-2e9712b63093.png)


以下を確認されますので、順に入力します。
・キーストアのパスワード＆確認入力
・姓名
・組織単位名
・組織名
・都市名または地域名
・都道府県名または州名
・国コード　日本の場合は `JP`
上記の確認されますので、問題なければ `y` (yesの略)と入力します。
最後に鍵パスワードとその確認入力をすれば、キーファイルが生成されます。


##準備3：config.xmlの編集とアイコン等の準備
アプリのフォルダ内 `www` フォルダの下にある `config.xml` を編集します。

![スクリーンショット 2014-11-16 15.12.07.png](https://qiita-image-store.s3.amazonaws.com/0/24420/41b8285d-953f-bc0b-0e90-330b2728547e.png)

2行目アプリIDとバージョン番号
　`com.phonegap.helloworld` となっている部分をユニークなIDに。
　バージョン番号は、`1.0.0` となっている部分。初回リリースならこのまま、バージョンアップなら数字をあげる。

3行目アプリ名
　`HelloWorld` となっている部分を変更。

5行目アプリの説明
　`Hello World sample application that responds to the deviceready event.` となっている部分を変更。

7行目サポート連絡先
　メールアドレス`support@phonegap.com`とWebサイト`http://phonegap.com`を変更

8行目開発者名
　`PhoneGap Team` となっている部分を変更。


![スクリーンショット 2014-11-16 15.28.20.png](https://qiita-image-store.s3.amazonaws.com/0/24420/c0bdbf67-053a-cb7f-6efe-1f79e620547a.png)

あとは、44行目以降に設定されているアイコンファイル類をリリース用のものにさしかえておきます。

> 追記
> 特定バージョンのバグかもしれませんが、デフォルトで入っているこのアイコン記述でうまく変更できないことがあるようです。
> 3.5.0では、[こちら](http://docs.phonegap.com/en/3.5.0/config_ref_images.md.html) の記述を参考に書き換えるとうまくいきました。

##いよいよ、リリース用APK作成

まず、PowerShell で、アプリのフォルダに移動してビルドコマンドを実行します。

```
phonegap build android
```

完了したら、platforms\android フォルダに移動し、`ant release`コマンドを実行します。

```
cd platforms\android
ant release
```

bin フォルダができていることを確認します。
コマンドを分かりやすくするため、エクスプローラーから、この bin フォルダ内に、準備2で生成した署名ファイルをコピーして格納しておきます。（ここでは、testkeyfile.keystore というファイル名です。）
あわせて、この bin フォルダ内に、[アプリ名]-release-unsigned.apk というファイルが生成されていることを確認しておきます。

binフォルダに移動し、署名する以下のコマンドを実行します。

```
cd bin
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore [準備2で生成したキーファイル].keystore [アプリ名]-release-unsigned.apk [準備2で入力した署名の任意の名称]
```

![スクリーンショット 2014-11-16 15.41.18.png](https://qiita-image-store.s3.amazonaws.com/0/24420/e1973a4b-44a3-cdb6-6abf-9f7b20999854.png)
（中略）
![スクリーンショット 2014-11-16 15.41.24.png](https://qiita-image-store.s3.amazonaws.com/0/24420/a87365fe-46c4-ed97-1ab4-7035050dccd0.png)

キーストアのパスワードを入力すると、署名が完了します。

最後に、リリース用のパッケージを行う以下コマンドを実行します。

```
zipalign -v 4 [アプリ名]-release-unsigned.apk [アプリ名].apk
```

![スクリーンショット 2014-11-16 15.57.51.png](https://qiita-image-store.s3.amazonaws.com/0/24420/142299a7-54a4-770a-21a7-dd83cc466eae.png)
（中略）
![スクリーンショット 2014-11-16 15.57.56.png](https://qiita-image-store.s3.amazonaws.com/0/24420/9fd9d847-d697-f128-c0af-d2a96d337848.png)

すると、`[アプリ名].apk` というファイルが生成されます。
このファイルで、Google Play に登録できます！