署名の入れ方
keytoolコマンドで公開するandroidアプリに署名するための証明書(鍵)を生成する
(更新日:2015/09/03)
eclipseからGUIで署名付きapkを生成するには、こちらのサイトの情報がよいと思います。以下の情報はちょっと古いです。
androidアプリを公開する場合、アプリのパッケージにデジタル署名をつける必要があります。
で、署名するには自分を証明する証明書(鍵)が必要になってくるわけですが、この鍵を作成、管理するのがkeytoolです。
keytoolはJDKのbinディレクトリに入っています。JDKのインストールについては「JDKのインストール~androidプログラミングの開発環境構築①」を参考にしてください。
以下はkeytoolで鍵を作成するコマンドの書式です。
>keytool -genkey -v -keyalg <鍵生成の暗号化方式> -keystore <証明書ファイル名> -alias <証明書別名> -validity <有効期限の日数>
下のサンプルでは、d:\tempandroidディレクトリにtechmaru.keystoreというファイル名の証明書を作成しています。(別名はtechkey)
>keytool -genkey -v -keyalg RSA -keystore d:\tempandroid\techmaru.keystore -alias techkey -validity 10000
そして、その後にいくつかの情報(キーストアパスワード、姓名、組織名、都市名、州名、国番号)の入力を要求されるので入力していきます。
国番号のjpを入力すると確認メッセージが出るので「yes」を押し、最後にRETURNを押します。すると、d:\tempandroidディレクトリにtechmaru.keystore証明書ファイルが作成されているはずです。
キーストアのパスワードを入力してください: 新規パスワードを再入力してください: 姓名を入力してください。 [Unknown]: ******** 組織単位名を入力してください。 [Unknown]: ******** 組織名を入力してください。 [Unknown]: ******** 都市名または地域名を入力してください。 [Unknown]: ******** 州名または地方名を入力してください。 [Unknown]: tokyo この単位に該当する 2 文字の国番号を入力してください。 [Unknown]: jp CN==********,, OU==********,, O==********,, L==********,, ST=tokyo, C=jp でよろしいですか? [no]: yes 10,000 日間有効な 1,024 ビットの RSA の鍵ペアと自己署名型証明書 (SHA1withRSA) を生成しています ディレクトリ名: CN=********, OU=********, O=********, L=********, ST=tokyo, C=jp の鍵パスワードを入力してください。 (キーストアのパスワードと同じ場合は RETURN を押してください): [d:\tempandroid\techmaru.keystore を格納中]
以上でkeytoolについては終了です。
それから、keytoolで作成した証明書を利用して署名なしのandroidアプリにデジタル署名するにはjarsignerが必要です。jarsignerの使い方・詳細については「jarsignerコマンドで公開するandroidアプリにデジタル署名する」を参考にしてください。
また、eclipse上で作成したandroidアプリならjarsignerを使わなくてもelicpse上で簡単にできます。これについては「eclipse上で署名されたandroidアプリ(.apk)を作成する」を参考にしてください。