リリース版アプリの作成

リリース版アプリを作成する手順について触れておきます。

(1)証明書ファイルを作成する

「Java Development Kit」に含まれている「keytool」コマンドを使用します。


「keytool」コマンド使用法:
keytool -genkey -v -keyalg <署名アルゴリズム> -keystore <証明書ファイル名> -alias <別名> -validity <有効日数>

署名アルゴリズム
署名アルゴリズムを指定します。

証明書ファイル名
書き出す証明書ファイル名を指定します。

別名
証明書の別名を指定します。大文字と小文字は区別されません。

有効日数
証明書の有効日数を指定します。推奨は 10000 です。


実行例:
keytool -genkey -v -keyalg RSA -keystore satis.keystore -alias satiskey -validity 10000

(2)apkファイルをエクスポートする

(1)「Eclipse」を起動します。
(2)Package Explorerのプロジェクトをマウス右クリックして、ポップアップメニューの「Android Tools」-「Export Unsigned Application Package...」を実行します。
(3)保存する場所は「C:\Android\release」など、リリース版用のフォルダを指定します。

(3)署名する

「Java Development Kit」に含まれている「jarsigner」コマンドと、「Android SDK」に含まれている「zipalign」コマンドを使用します。


「jarsigner」コマンド使用法:
jarsigner -verbose -keystore <証明書ファイル名> <apkファイル名> <証明書の別名>

証明書ファイル名
(1)で作成した証明書ファイル名を指定します。

apkファイル名
(2)でエクスポートしたapkファイル名を指定します。

証明書の別名
(1)での証明書ファイル作成時に指定した別名を指定します。


「zipalign」コマンド使用法:
zipalign -v <アライメント> <最適化前のapkファイル名> <最適化後のapkファイル名>

アライメント
バイト数を指定します。常に 4 を指定してください。

最適化前のapkファイル名
アライメント調整前のapkファイル名を指定します。

最適化後のapkファイル名
アライメント調整後のapkファイル名を指定します。


下記のようなバッチファイルを作成しておくと便利です。証明書ファイル名と、証明書の別名は、自分のものに書き換えてください。

sign.bat:
copy %1 $$$.apk
jarsigner -verbose -keystore satis.keystore $$$.apk satiskey
del out\%1
zipalign -v 4 $$$.apk out\%1
del $$$.apk

(4)apkファイルをインストールする

「Android SDK」に含まれている「adb」コマンドを使用します。

(1)端末IDを確認します。

adb devices

(2)インストール実行します。

adb -s <端末ID> install <apkファイル名>

アプリ設定データを残したまま再インストールするには、-r オプションを付けます。

adb -s <端末ID> install -r <apkファイル名>