たまに使いたくなるのでメモ。
環境は Mac & Eclipceプロジェクト。
1. 無署名のリリースAPKを作成
$ cd /path/to/android_project
$ ant release
2. KeyStoreの作成
$ keytool -genkey -v \
-keystore ${キーストアファイル名} \
-alias ${エイリアス名} \
-keyalg RSA \
-validity ${有効日数}
# e.g. 約25年有効
$ keytool -genkey -v \
-keystore test.keystore \
-alias the_game \
-keyalg RSA \
-validity 9125
3. APKの署名
jarsigner \
-verbose \
-sigalg MD5withRSA \
-digestalg SHA1 \
-tsa http://timestamp.digicert.com \
-keystore ${キーストアファイル名} \
${署名対象のAPK} \
${エイリアス名}
# e.g.
jarsigner \
-verbose \
-sigalg MD5withRSA \
-digestalg SHA1 \
-tsa http://timestamp.digicert.com \
-keystore test.keystore \
the_game-release.apk \
the_game
4. zipalignの実行
$ zipalign -v 4 ${入力APKファイル} ${出力APKファイル}
# e.g.
$ zipalign -v 4 the_game-release.apk the_game.apk