【AndroidStudio】aab作成時の鍵ファイルを紛失した場合の対処法
個人開発したAndroidアプリ「ラビリンス」の不具合を修正して審査に出そうとした際に事件が起きました。
↓ラビリンスについてはこちら↓
さぁAndroidStudioからaabファイルを生成しようとしたその時...!!
KeyStoreファイルがない...
自分で消したわけではないのに見当たりません。
おそらくAndroidStudioでプロジェクトをクリーンした際にAndroidStudioに消されたんだと思います。
ちなみに新しいKeyStoreファイルを生成してaabファイルを作成してもGooglePlayStoreでaabファイルアップロード時にエラーが出ます。
この時に結構焦ったので忘備録として対処法を書き残しておきます。
対処法
1.最新版のjavaをダウンロード
以下のサイトからダウンロードします。
インストールするフォルダはどこでもいいですが、場所は覚えておいてください。
※後述するKeytoolコマンドが使える場合はこの手順は不要です。
2.AndroidStudioからKeyStoreファイルを生成
メニューの[ビルド] -> [Generate Signed Bundle / APK] -> Android App Bundle ->Create New
この時に重要なポイントがあります。
エイリアスは覚えておいてください
私のようにエイリアスをタイプミスすると痛い目に遭います(←アホ)
3.pemファイルの生成
コマンドプロンプトを管理者で起動してkeytool.exeのパスに移動します。
私の環境では「C:\Program Files (x86)\Java\jre-1.8\bin」に「keytool.exe」がありました。
コマンドプロンプトで以下のコマンドを実行します。
keytool -export -rfc -keystore [2で作成した鍵ファイルパス] -alias [エイリアス] -file [pemファイル出力先パス]
具体的にはこんな感じになります。
keytool -export -rfc -keystore C:\Users\****\Desktop\labyrinth.jks -alias labyrinth -file C:\Users\****\Desktop\labyrinth_certificate.pem
4.pemファイルをGooglePlayConsoleからアップロード
GooglePlayConsoleのサイドメニューの[設定] -> [アプリの署名] -> [アップロード鍵のリセットのリクエスト]
5.数日待つ
pemファイルをアップロードするとこのようなメールが届きます。
私の場合は約2日待つことになりました。
6.再申請
指定された日時まで待ったら、2で生成した鍵ファイルを使いaabファイルを生成します。
すると無事にGooglePlayConsoleにアップロードできます!
まとめ
この現象が起きた時にかなり焦りました。
不具合対応などで急いでいるときにこれを食らうとダメージが大きいです。
焦りの中で魔が差して
もうアプリ削除して申請しなおそう
かなと一瞬思いましたが、踏みとどまりました。
でも申請を通すことができ、新しいアプリをユーザーに届けることができてよかったです。
まぁユーザーなんてロクにいないんですが
それでは