Androidアプリの署名

協力会社が作成したapkを受け取ったが、debug署名されていてMarketにアップロード出来ない。
試しに手元の環境でjarsignerを走らせてみたが、既にdebug署名されているせいか invalid entry compressed size というエラーが発生して署名できず。

やっぱりビルドの際に正式版として署名しないといかんのね・・・。

#追記。
apkの証明書を確認する方法。
jarsigner -verify -verbose -certs APPLICATION.apk
上記でapkファイルをベリファイした際、CNにAndroid Debugが設定されていたら、ほぼ間違いなくDebugモードでビルドされている。

本来は未署名の状態でビルド(リリースモード)し、準備した自分の証明書(keystore)で明示的に署名する必要がある。また、署名する自分の証明書は、アプリごとに共通にしておかないといけないらしい。Aで署名したver.1.0のアプリは、Bで署名したver.1.1にバージョンアップできない(IDが同じでも、別なアプリ、別なビルダーと認識される?)ので、アプリの制作・リリースを完了、もしくは停止するまでは、その証明書は大切に保管しておかねばならない。