TapTapTap!!!(21)~Java keytool を使って keystore を発行する~

TapTapTap!!!(20)~実績・ランキング機能がうまくいかない~ ではGoogle Play Services の実績機能のサンプルを実装したが、Android Studio のバーチャルデバイスではうまくいかないことが確認できた。そこで今回はGoogle Play コンソールにプログラムをアップロードするために自身で keystore を発行する。

今回はTapTapTap!!!(20)~実績・ランキング機能がうまくいかない~ で作成した Sample.apk を用いてGoogle Play コンソールにテストプログラムをテスト用にアップロードしていこうと思ったが思いがけない場所で詰まったため keystore を作るところまで。

1.テスト用のゲームをアップロードする

TapTapTap!!!(18)~実績・ランキング機能を準備する~ で行ったようにゲームサービスを登録する。今回重要なのは「リンク済みアプリ」である。この「リンク済みアプリ」をクリックし以下の画面を表示する。

アプリのリンク

必要項目(タイトルや説明など)を入力後、「保存して次へ」をクリックして以下のアプリ承認画面を表示する。

アプリ承認画面

アプリ承認画面で「今すぐアプリを承認」をクリックすると以下の画面が表示される。

OAuth入力

「パッケージ名」と「署名証明書フィンガープリント」を入力する。

2.keystore を発行する

様々なところを検索し、「署名証明書フィンガープリントを発行するためには」と検索したところ Android の デベロッパーズサイトで以下のコマンドをコマンドプロンプトから入力すれば良い。

keytool -list -keystore <path-to-production-keystore>

とのことだったがそもそも <path-to-production-keystore> とはなにかということで更に検索していくと keystore は自作できるらしいので今回はその方法を使用する。

コマンドとしては以下のコマンドを入力するといいらしい。

引用サイト:usedoor

keytool -genkey -v -keystore 【キーストア名】 -alias 【エイリアス名】 -validity 【有効期限】

■解説
keytool -genkey
⇒keystoreを作るぞというコマンド(JDKのインストールが必須)

-v
⇒証明書の詳細を表示する

-keystore 【キーストア名】
⇒作成するキーストアの名前

-alias 【エイリアス名】
⇒作成するキーストアのエイリアス(キーストア名と同じでもOK)

-validity 【有効期限】
⇒有効期限の日数。基本的にとても長くてOK(よほどな理由がない限り、長い方がいいと思います)

 

まずはコマンドプロンプト画面を表示する。コマンドプロンプト画面の表示方法がわからない場合は[スタート] > [プログラムとファイルの検索] に 「cmd」 と入力すれば表示できると思う。

コマンドプロンプト画面

コマンドプロンプト表示後、上記のコマンドを入力すると地方名や組織名などを問われるので入力していく。

条件入力

もし、以下のような画面が表示される場合は指定箇所にファイルを作成することができないというエラーなので、権限のある自信のデスクトップなどに作成すると良いだろう。

コマンドプロンプトエラー画面

無事作成が完了すると以下のような画面が表示される。

コマンドプロンプト実行成功

今回はデスクトップに作成するよう指示を入力したので、デスクトップに作成されているか確認する。作成する場所を指示する方法は「【キーストア名】」にデスクトップへのパスを入力すると良い。

3.署名証明書フィンガープリントを発行する

同様に「署名証明書フィンガープリント」も keystore から発行する。これは「2.keystore を発行する」で述べたとおり

keytool -list -keystore <path-to-production-keystore>

というコマンドを入力すると以下のような画面が表示される。

フィンガープリントの表示

重要なのは赤枠で囲った部分でこれを Google Play コンソールに入力する必要があるのでどこかにメモしておくと良いだろう。

%d人のブロガーが「いいね」をつけました。