googleplay-key-ja

Google Play 署名鍵エラーの対処方法

「署名鍵が違う」とビルドがエラーになってしまった時の対処方法について(Flutter/MacOS)

エラーメッセージ:
Android App Bundle が誤った鍵で署名されています。App Bundle を正しい署名鍵で署名して、もう一度お試しください。App Bundle はフィンガープリント「 SHA1: 40:55:7C:… (例)」の証明書で署名される必要がありますが、アップロードした App Bundle の署名に使われている証明書のフィンガープリントは「 SHA1: F9:C9:6A:…(例)」

Google Play 署名鍵エラーの対処方法

原因は、前回 Google Play Console に登録した“アプリ署名鍵”と、今回ビルドで使った鍵が違うことです。

次の順で切り分け&修正します。

  1. 現在どの鍵で署名しているかを確認
  2. 以前使っていた “正しい鍵” の所在確認および対応
  3. 正しい署名鍵が見つからない場合の対応(アップロード鍵リセット)

1. 現在使用している署名鍵を確認する

まずは、ビルドされた .aab がどの鍵で署名されているかを確認します。

keytool -printcert -jarfile build/app/outputs/bundle/release/app-release.aab | grep -i SHA1

Windows(PowerShell)の場合

keytool -printcert -jarfile build\app\outputs\bundle\release\app-release.aab | Select-String SHA1


→ エラーに出た F9:C9:6A:…(例) が表示されるはずです。
これが現在あなたが使用している署名鍵です。

2. 以前使用していた署名鍵を探す

2-1. 使用中の keystore(署名鍵)を検索する

Google Play Console が要求しているのは 40:55:7C:…(例) の指紋です。
どの keystore を使っていたかわからない場合、以下の検索を行います。

find ~ -name "*.jks"
find ~ -name "*.keystore"

例として次のようなファイルが見つかる場合があります:

/Users/you/.android/debug.keystore
/Users/you/AndroidStudioProjects/.../my-release-key.keystore
/Users/you/AndroidStudioProjects/keystores/upload-keystore.jks

2-2. 各 keystore の alias と SHA-1 を確認する

見つかった keystore に対して以下を実行:
コマンド例(alias:key0の場合)

keytool -list -v -keystore /path/to/keystore.jks -alias key0

Windowsの場合

keytool -list -v -keystore C:\path\to\keystore.jks -alias key0

alias がわからない場合は、よくある名前を順に試します:

  • key0
  • upload
  • release
  • my-key-alias
  • androiddebugkey(debug.keystore の場合)

🔑 alias(エイリアス)とは?

  • keystore(.jks ファイル)の中には「鍵(Key)」が入っています。
  • その鍵を区別するために付ける名前が alias(エイリアス) です。
  • keystore には複数の鍵を入れることもできますが、普通は 1つの鍵だけを入れて使います。

パスワードを入力すると SHA-1 が表示されますので、Play Console が要求する 「SHA1: 40:55:7C:… (例)」と一致するか確認します。

🔑 パスワード(storePassword)

  • keystore(.jks ファイル)作成時に自分で設定したものです。
  • パスワードが不明でkeystoreが開けない場合は、署名鍵が見つからない場合と同様に 4.アップロード鍵のリセット に進みます。

3. 正しい署名鍵が見つかった場合

3-1. 特定したkeystore/aliasを指定するように修正

Play Console が要求している SHA1の keystore/alias と一致して特定できた場合は、android/app/build.gradle に設定されている signingConfig を確認します。

signingConfigs {
    release {
        storeFile file(keystoreProperties['storeFile'])
        storePassword keystoreProperties['storePassword']
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
    }
}
  • keystore の実体パスは android/key.properties に記載されています(無ければ新規作成)。
  • 特定した keystore を指定するように修正します。
  • 拡張子やパスは絶対パスで記載する。
storeFile=/Users/you/AndroidStudioProjects/keystores/upload-keystore.jks
storePassword=*****
keyAlias=upload
keyPassword=*****

3-2 再ビルド&確認

ビルドやり直し → 署名の SHA-1 を .aab から確認

flutter clean
flutter pub get
flutter build appbundle --release

keytool -printcert -jarfile build/app/outputs/bundle/release/app-release.aab | grep -i SHA1

→ Play Console の要求 SHA1 と一致することを確認してからアップロードします

4. 正しい署名鍵が見つからない → アップロード鍵のリセット

正しい鍵が見つからない場合、Play App Signing を有効にしている(デフォルトで有効)なら、
配布に使う本番鍵は Google が保持しており、あなたは“アップロード鍵”だけリセットできます。

4-1. 新しい keystore を作成する

keytool -genkeypair \
 -alias upload \
 -keyalg RSA \
 -keysize 2048 \
 -validity 10000 \
 -keystore upload-keystore.jks
  • パスワード2種(store/key)は 忘れない値に統一推奨
  • 入力した「組織名/国名」は何でも可(後で変更不可)

例:

/Users/you/AndroidStudioProjects/keystores/upload-keystore.jks

4-2. 新しいアップロード鍵の証明書(.pem)を作成する

keytool -export -rfc \
 -keystore upload-keystore.jks \
 -alias upload \
 -file upload_certificate.pem

4-3. Google Play Console で鍵を登録する

  1. 対象アプリ → 「アプリの完全性」 → 「アプリ署名」
  2. 「アップロード鍵」セクションの “アップロード鍵をリセット/置換”
  3. upload_certificate.pem をアップロードして登録
  4. 反映まで数時間かかることがあります。
  5. 反映後は new-upload.jks で署名した .aab をアップロード可能になります。

4-4. Flutter の署名設定を新しい鍵に切り替える

android/key.properties を新しい鍵に合わせて修正:

storeFile=/Users/you/AndroidStudioProjects/keystores/upload-keystore.jks
storePassword=*****
keyAlias=upload
keyPassword=*****

4-5. 新しい鍵で .aab を再ビルドして指紋を確認

flutter clean
flutter pub get
flutter build appbundle --release

生成された .aab が、新しい SHA-1 になっていることを確認:

keytool -printcert -jarfile build/app/outputs/bundle/release/app-release.aab | grep -i SHA1

→ Google Play Console の「アップロード鍵」に登録した SHA-1 と一致すればOK。

Google Play 署名鍵エラーの対処方法

関連記事