keytool -list -vでdebug.keystoreのフィンガープリントを見る

  • Android
  • keytool

この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。

Androidアプリ用にGoogle Maps APIキーとかFacebookのSDKの設定をするのに、debug.keystoreの署名フィンガープリントが要るのでkeytoolで見てみた。

keytool -list -v -keystore debug.keystore

debug.keystoreの場所

Mac/Linuxだと~/.android/debug.keystore、Windowsだと%USERPROFILE%\.android\debug.keystoreに自動生成されてる。Android SDKでビルドすると初回に勝手に作られるやつなので、まだ一度もビルドしてない状態だとファイル自体が存在しない。

パスワードはデフォルトでandroid固定。keytoolに聞かれたらそのまま打てば通る(実機未確認だが、SDK付属のドキュメントにもその旨の記載がある)。

出力される内容

-v(verbose)付きで叩くと、エイリアスごとに以下が出る。

  • Alias name: エイリアス名(debug.keystoreはandroiddebugkey固定)
  • Creation date: 作成日
  • Entry type: PrivateKeyEntry
  • Certificate fingerprints:
    • MD5
    • SHA1
    • SHA256

このうちAndroidの開発でよく使うのはSHA1。Google Maps AndroidのAPIキー発行やFacebook SDKのキー入力の画面で、このSHA1の値をそのままコピペする場面が多い。

ハマったところ

  • 初回ビルドしてないとdebug.keystore自体が存在しない。一度ビルドを通してから探すこと。
  • releaseビルド用のkeystoreと混同しないこと。debug.keystoreのSHA1をGoogle Play Console側の本番設定に登録しても意味がない。あくまで開発端末上でのデバッグ実行用。
  • チーム開発だとメンバーごとにdebug.keystoreが違う(各自のマシンで自動生成されるため)ので、SHA1もメンバーごとに別物になる。API側に複数SHA1を登録できるサービスならまとめて登録しておいた方が楽。

エイリアスとパスワードを先に指定する

対話で毎回聞かれるのが面倒なら、最初からオプションで渡せる。

keytool -list -v -keystore debug.keystore -alias androiddebugkey -storepass android

これで一発でCertificate fingerprintsまで出てくる。