Android アプリの署名

Eclipse 上での開発の話。
はまったのでメモを。

Eclipse 上で開発し、実機などでデバッグ・動作確認しようとすると、
自動で「デバッグ用署名」が入ってしまうらしい。
開発してる際には便利なのですが、
いざマーケットに上げようとして、自分の署名をつけようとしても、

jarsigner: jar に署名できません: java.util.zip.ZipException: invalid entry compressed size (expected 757 but got 761 bytes)

のように二重署名になるためか署名がうまくいきません。
そこで、パッケージエクスプローラAndroid Tools -> 署名無しでエクスポート、を実行し
このパッケージを jarsigner で自分の署名をするとうまくいきました。


あと、パッケージを最適化する、

zipalign は署名後に行いましょう!(英語で)

と使い方の説明ページに書いてあります。
そのページによると、先に zipalign してからだと、署名によって、また最適でないパッケージになってしまう、とのことです。