RORK LABEN
TOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しましたTOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しました
記事一覧/アプリ開発
アプリ開発/2026-05-31中級

Rorkアプリを Google Play にアップロードできない署名キーエラーの直し方

Rorkで作ったアプリを Google Play にアップロードすると「間違った鍵で署名されています」と弾かれる——よくある署名キーの不一致エラーについて、原因の見分け方と環境別の具体的な対処手順を整理しました。

troubleshooting25error5fix5Android43Google Play21署名2keystore

Rorkで生成したアプリを Google Play Console にアップロードしたとき、「Your Android App Bundle is signed with the wrong key(このAndroid App Bundleは間違った鍵で署名されています)」というエラーで弾かれて、先に進めなくなったことはないでしょうか。ビルドは通っているのに提出だけ失敗するため、原因が掴みづらく、最初の公開でつまずきやすいポイントです。

私自身、2014年から個人開発を続けてきて累計5,000万ダウンロードに届くまでに何本もアプリを出してきましたが、この署名まわりのエラーは新しいビルド環境に移るたびに必ず一度はぶつかります。仕組みを一度理解しておくと、慌てずに切り分けられるようになります。

なぜ「鍵が違う」と言われるのか

Google Play にアプリを出すとき、署名には二種類の鍵が関わります。ここを混同していると、エラーメッセージの意味が読み取れません。

ひとつは アップロード鍵(upload key) です。あなたが手元で AAB(Android App Bundle)に署名するための鍵で、Google Play に「これは確かに私が出したものです」と示すためのものです。

もうひとつは アプリ署名鍵(app signing key) です。実際にユーザーへ配信される APK に Google が付け直す鍵で、Play App Signing が有効な場合は Google 側で安全に保管されます。

「間違った鍵で署名されています」と言われるのは、ほとんどの場合 Google Play に登録済みのアップロード鍵と、今あなたが署名に使った鍵が一致していない ためです。初回登録時の鍵を紛失したり、ビルド環境を変えて新しい鍵で署名してしまったりすると発生します。

まず確認すべきこと

対処に入る前に、今どの鍵で署名されているのかを確かめます。手元の AAB に含まれる証明書の指紋(SHA-256)を取り出して、Google Play Console に登録されている指紋と突き合わせます。

# AAB / APK に含まれる署名証明書を確認する
keytool -printcert -jarfile your-app.aab

出力の SHA256: の行に並ぶ指紋を控えておきます。次に Google Play Console を開き、対象アプリの「テストとリリース」→「アプリの署名」を見ると、アップロード鍵証明書アプリ署名鍵証明書 の SHA-256 がそれぞれ表示されています。

ここで手元の指紋が アップロード鍵証明書 の値と一致していれば正常です。一致していなければ、別の鍵で署名している状態であり、これがエラーの直接の原因です。

ケース別の対処

原因は「どんなビルド環境を使っているか」で変わります。Rorkで作ったアプリは EAS(Expo Application Services)でビルドするか、ネイティブ書き出ししてローカルで署名するかのどちらかが多いので、その二つを中心に整理します。

ケース1:EAS Build を使っていて鍵が変わってしまった

EAS Build は初回に署名鍵を自動生成し、Expo 側で保管してくれます。便利な反面、eas credentials を操作したときや別アカウント・別プロジェクトでビルドし直したときに、新しい鍵が作られて指紋がずれることがあります。

まず、EAS が今どの鍵を持っているかを確認します。

# Android の署名認証情報を一覧表示する
eas credentials --platform android

メニューから対象のビルドプロファイル(通常は production)を選ぶと、現在の Keystore とその SHA-256 指紋が表示されます。これが Google Play 側のアップロード鍵証明書と一致していれば、その鍵でビルドし直すだけで解決します。

問題は、過去に Google Play へ登録した鍵を EAS が失っているケースです。この場合は、登録済みのアップロード鍵(.jks / .keystore ファイルとパスワード一式)が手元に残っているなら、それを EAS に読み込ませます。

# 既存の keystore を EAS にアップロードして使わせる
eas credentials --platform android
# → Keystore: Set up a new keystore → 既存ファイルを選択 → パスワードを入力

手元にも鍵が残っていない場合は、後述の「アップロード鍵を紛失した場合」へ進みます。

ケース2:ローカルで署名していて鍵を取り違えた

ネイティブ書き出しして Android Studio やコマンドラインで署名している場合は、署名設定が参照している keystore ファイルが正しいかを確認します。android/gradle.properties や CI の環境変数で、デバッグ用の鍵や別アプリの鍵をうっかり指していることがよくあります。

# android/gradle.properties — リリース署名に使う鍵を明示する
MYAPP_UPLOAD_STORE_FILE=upload-keystore.jks
MYAPP_UPLOAD_KEY_ALIAS=upload
MYAPP_UPLOAD_STORE_PASSWORD=YOUR_STORE_PASSWORD
MYAPP_UPLOAD_KEY_PASSWORD=YOUR_KEY_PASSWORD

指している keystore の指紋は、次のコマンドで確認できます。

# keystore 内の特定エイリアスの指紋を確認する
keytool -list -v -keystore upload-keystore.jks -alias upload

ここで出る SHA-256 が Google Play のアップロード鍵証明書と一致するかを必ず突き合わせてください。複数アプリを並行運用していると、別アプリの keystore を共有してしまう取り違えが起きがちです。私も壁紙系と癒し系のアプリを同時に更新していた時期に、片方の鍵でもう片方を署名しかけたことがあります。アプリごとに keystore とエイリアスを明確に分けておくのが安全です。

ケース3:アップロード鍵を紛失した場合

手元にもビルド環境にもアップロード鍵が残っておらず、復元できないときは、Google にアップロード鍵のリセットを依頼します。これは Play App Signing が有効なアプリでのみ可能で、Google が配信用のアプリ署名鍵を保持しているからこそ取れる手段です。

新しいアップロード鍵を作り、その公開鍵証明書(PEM)をリセット申請に添付します。

# 新しいアップロード鍵を生成する
keytool -genkeypair -v -keystore new-upload-keystore.jks \
  -alias upload -keyalg RSA -keysize 2048 -validity 9125
 
# リセット申請に添付する PEM 証明書を書き出す
keytool -export -rfc -keystore new-upload-keystore.jks \
  -alias upload -file upload_certificate.pem

書き出した upload_certificate.pem を持って、Google Play Console の「アプリの署名」ページから アップロード鍵のリセットをリクエスト します。承認には通常1〜2営業日かかります。承認後は、この新しい鍵で署名したビルドが受け付けられるようになります。

注意したいのは、Play App Signing を使わずに自分でアプリ署名鍵を管理していて、その鍵を失った場合です。このときは同じパッケージ名でのアップデート公開ができなくなり、リセットも効きません。だからこそ、最初に Play App Signing を有効にしておくことを私は強くおすすめします。

同じ失敗を繰り返さないために

このエラーは一度起こすと復旧に手間がかかるので、予防が何より効きます。私が複数アプリを長く運用してきて落ち着いた習慣は、次のようなものです。

アップロード鍵の .jks ファイルとパスワードは、ビルド環境とは別の場所——パスワードマネージャーや暗号化したバックアップ——に必ず保管します。ビルドマシンを買い替えたときに鍵だけ消える、というのが一番多い事故です。

Play App Signing は新規アプリでは原則として有効にします。これで配信用の鍵は Google が保管してくれるため、最悪アップロード鍵を失ってもリセットで復帰できます。

そして、アプリごとに keystore とエイリアス名を分け、一覧をメモに残しておきます。指紋の突き合わせは keytool -printcert -jarfile 一発でできるので、提出前に一度確認する癖をつけるだけで、提出してから弾かれる無駄なやり直しが減ります。

次に新しいビルド環境へ移すときは、まず手元の AAB の指紋を取り、Google Play のアップロード鍵証明書と一致することを確認してから提出してみてください。それだけで、この署名エラーのほとんどは未然に防げます。

シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

アプリ開発2026-04-09
RorkアプリのAndroidビルドエラー解決ガイド — Gradle・SDKエラーの原因と対処法
RorkアプリのAndroidビルドでGradleエラーやSDKバージョン不一致が発生して困っていませんか?症状別の原因分析と具体的な解決手順をStep by Stepで解説します。
アプリ開発2026-04-08
Rork アプリで AdMob 広告が表示されない原因と解決法 — 収益が反映されない問題の対処法
Rorkで開発したアプリにAdMob広告が表示されない・収益が反映されない問題を解決。テストIDの設定ミス、app-ads.txt未設定、ポリシー違反など主要な原因と具体的な修正手順を解説します。
開発ツール2026-05-12
Rork アプリが「データセーフティ」未入力でGoogle Playにリジェクトされたときの直し方
Google PlayのデータセーフティセクションをRorkアプリ向けに正しく記入する手順を解説。AdMob・Firebase・RevenueCatなど主要SDKが収集するデータの申告漏れパターンと対処法。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →