「Android Marketにデベロッパー登録をする」でデベロッパー登録の仕方を説明しました。
今回はAndroidMarketにアプリを公開するために必要な、アプリへのデジタル署名の仕方を説明します。
デジタル署名をしていなくても野良アプリとしてapkファイルを自分のサーバなどで公開することは可能ですが、AndroidMarketで公開するためにはデジタル署名は必須となります。
手順としては
- 証明書を作成する
- Androidアプリケーションに署名を行う
です。
それでは続きで説明して行きます。
証明書を作成する
証明書を作成するにはJDKに含まれているkeytoolを使います。環境によって異なりますがjavac等に対してパスを通していれば問題なく使えると思います。
例としてMacでは下記の場所にあります。
$ which keytool/usr/bin/keytool
今回は techboosterという名前の証明書を作成してみます。有効期限は10000日とします。
keytool -genkey -v -keystore techbooster.keystore -alias techbooster -keyalg RSA -validity 10000
上記のコマンドではtechbooster.keystoreが生成されるファイルの名前で別名がtechboosterです。
途中でパスワード、住所などが聞かれるので答えて行きましょう。
Androidアプリケーションに署名を行う
では、作成した証明書でAndroidアプリケーションに署名を行います。
署名にはkeytoolと同様にJDKに含まれるにあるjarsignerを使います。
$ which jarsigner
/usr/bin/jarsigner
先ほどのkeystoreファイルと署名したいアプリのapkファイルが同じフォルダにあると仮定します。
jarsigner -verbose -keystore techbooster.keystore AsyncTaskSample.apk techbooster
keystoreファイル名や別名、apkファイルは各自読み替えてください。
これでアプリケーションに署名を行うことができました。
eclipseで署名を行う
コマンドラインから毎回署名を行うのは結構面倒なものです。
そこで開発にも使っているeclipseの登場です。eclipseから署名済みのapkを作成することができます。
署名済みのapkファイルを作りたいプロジェクトを右クリックします。
そこからAndroidTools→Export Signed Application Packageを選択します。
そうするとプロジェクト名を入力する画面になります。既に入力されている状態になっているので、問題なければそのまま進みます。別のプロジェクトを選択したい場合は、Browseから選択してください。
次はLocationに先ほど作成した証明書(keystore)を指定してパスワードを入力します。入力したらNextボタンを押してください。
さらにAliasを選択する画面に進むので選択して同様にパスワードを入力しましょう。入力したNextボタンを押して・・・
最後に作成するapkファイルのパス&名前を入力してFinishボタンを押せば完了です。