Android アプリの署名
Eclipse 上での開発の話。
はまったのでメモを。
Eclipse 上で開発し、実機などでデバッグ・動作確認しようとすると、
自動で「デバッグ用署名」が入ってしまうらしい。
開発してる際には便利なのですが、
いざマーケットに上げようとして、自分の署名をつけようとしても、
jarsigner: jar に署名できません: java.util.zip.ZipException: invalid entry compressed size (expected 757 but got 761 bytes)
のように二重署名になるためか署名がうまくいきません。
そこで、パッケージエクスプローラの Android Tools -> 署名無しでエクスポート、を実行し
このパッケージを jarsigner で自分の署名をするとうまくいきました。
あと、パッケージを最適化する、
zipalign は署名後に行いましょう!(英語で)
と使い方の説明ページに書いてあります。
そのページによると、先に zipalign してからだと、署名によって、また最適でないパッケージになってしまう、とのことです。