特定の Google Play サービス(Google ログインやアプリ招待など)では、アプリの OAuth2 クライアントと API キーを作成できるように、署名証明書の SHA-1 を指定する必要があります。
Play アプリ署名を使用する
Play App Signing を使用してアプリを公開した場合(Android App Bundle を使用する場合は必須です)、Google Play Console の [リリース] > [設定] > [アプリの完全性] ページで SHA-1 を取得できます。
アプリケーションの自己署名
Play アプリ署名を使用していない場合は、以下の手順に沿って Keytool または Gradle の署名レポートを使用して SHA-1 を取得します。
証明書で Keytool を使用する
ターミナルを開き、Java に付属の keytool
ユーティリティを実行して、証明書の SHA-1 フィンガープリントを取得します。リリース証明書とデバッグ証明書の両方のフィンガープリントを取得する必要があります。
リリース用証明書のフィンガープリントを取得するには:
keytool -list -v \
-alias <your-key-name> -keystore <path-to-production-keystore>
デバッグ用証明書フィンガープリントを取得するには:
keytool -list -v \ -alias androiddebugkey -keystore ~/.android/debug.keystore
keytool -list -v \ -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
キーストアのパスワードの入力を求めるプロンプトが表示されます。デバッグ キーストアのデフォルト パスワードは android
です。Keytool はフィンガープリントをターミナルに出力します。次に例を示します。
Certificate fingerprint: SHA1: DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09
APK または AAB で Keytool を使用する
アプリケーション バイナリの証明書を取得するには:
# APK file
keytool -printcert -jarfile app.apk
# AAB file
keytool -printcert -jarfile app.aab
Gradle の署名レポートを使用する
Gradle signingReport
コマンドを使用して、署名証明書の SHA-1 を取得することもできます。
./gradlew signingReport
署名レポートには、アプリの各バリアントの署名情報が含まれます。
> Task :app:signingReport
Variant: debug
Config: debug
Store: ~/.android/debug.keystore
Alias: AndroidDebugKey
MD5: A5:88:41:04:8D:06:71:6D:FE:33:76:87:AC:AD:19:23
SHA1: A7:89:E5:05:C8:17:A1:22:EA:90:6E:A6:EA:A3:D4:8B:3A:30:AB:18
SHA-256: 05:A2:2C:35:EE:F2:51:23:72:4D:72:67:A5:6C:8C:58:22:2A:00:D6:DB:F6:45:D5:C1:82:D2:80:A4:69:A8:FE
Valid until: Wednesday, August 10, 2044
Android でのデジタル署名の詳細については、アプリに署名するをご覧ください。