【AndroidStudio】aab作成時の鍵ファイルを紛失した場合の対処法

個人開発したAndroidアプリ「ラビリンス」の不具合を修正して審査に出そうとした際に事件が起きました。

↓ラビリンスについてはこちら↓

>>【アプリ紹介】ラビリンス

さぁAndroidStudioからaabファイルを生成しようとしたその時...!!

KeyStoreファイルがない...

自分で消したわけではないのに見当たりません。

おそらくAndroidStudioでプロジェクトをクリーンした際に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のサイドメニューの[設定] -> [アプリの署名] -> [アップロード鍵のリセットのリクエスト]


3で生成したpemファイルをアップロードしてリクエスト




5.数日待つ


pemファイルをアップロードするとこのようなメールが届きます。



私の場合は約2日待つことになりました。




6.再申請


指定された日時まで待ったら、2で生成した鍵ファイルを使いaabファイルを生成します。

すると無事にGooglePlayConsoleにアップロードできます!






まとめ

この現象が起きた時にかなり焦りました。

不具合対応などで急いでいるときにこれを食らうとダメージが大きいです。

焦りの中で魔が差して

もうアプリ削除して申請しなおそう

かなと一瞬思いましたが、踏みとどまりました。

でも申請を通すことができ、新しいアプリをユーザーに届けることができてよかったです。

まぁユーザーなんてロクにいないんですが

それでは
Next Post Previous Post