背景
- 2016年ごろ?に1つ目のアプリをリリースしていた
- 2020年に2つ目のアプリをリリースしようとした
- その間に、アプリの署名の仕組みが変わっていた
- KeyStoreは新規で作るべきなのか、既存のKeyを使いまわすべきなのか、新たな疑問が出てきた
やろうとしたこと
新しいアプリの新規リリース
新しいアプリをリリースビルドする際にKeyStoreが必要ですが、疑問がでてきました。
そもそも、KeyStoreは、アプリ毎に新しく作るべきなのか、使いまわした方がよいのか。。。
KeyStore利用の方針決め
参考になったサイトは補足にまとめましたが、
結論、個人開発なので同じキーを使いまわそうと決めました。
リリース作業中に問題発生
細かい手順は残してないので、なんとなくの流れになります。
- 1つ目のアプリと同じKeyStoreを用いてリリースビルドAPKを用意
- Google Play Consoleでアプリの作成から必要項目を入力後、Google Playアプリ署名も有効にする。
- アプリのリリース、リリースの作成から、「追加する Android App Bundle と APK」に作成したAPKを登録
この時に、以下のメッセージが表示されてしまいました。
Android App Bundle で使用されているアップロード証明書の鍵の安全性が低すぎます。
調査と対応
まずは、ググった
「Android App Bundle で使用されているアップロード証明書の鍵の安全性が低すぎます。」で、ググっても同じ事例が見つかりませんでした。。。
そして、公式情報を読み込みました。
Google Play アプリ署名の仕組み
https://support.google.com/googleplay/android-developer/answer/7384423?hl=ja
公式情報から具体的な操作方法は見つけれませんでしたが、鍵のアップグレードって操作が必要なのでは、と思ってきました。
結果、そのアップグレードを行うことでリリースできました。
鍵のアップグレードをリクエスト
1つ目のアプリのリリース管理から、アプリの署名画面を開き、「鍵のアップグレードをリクエスト」を実施。
鍵のアップグレードリクエストの理由を選択
「複数のアプリやこのアプリのプリインストール版に同じ鍵を使用する必要がある」を選択してリクエストしました。
想像では、新しいKeyStoreファイルをダウンロードして、使うのかと思いましたが、
特に生成はされませんでした。
APKファイルの再アップロード作業
これまでと同じKeyStoreファイルを使って、リリースAPKを生成し、アップロードしました。
補足
企業や複数の組織が開発に関わるような場合、以下のサイトのようにエイリアスを分ける方法もありなのかなと思いました。
Androidアプリ開発のキーストアとエイリアスについて
https://blog.aroundit.net/android-keystore-alias/
がしかし、自分は以下の理由からアプリごとにエイリアスを分けることにしました。
アプリごとにエイリアスを作って署名を行うと、
グループで開発を行っている場合、特定のアプリのアップデート権限のみを担当の開発者に与えることができる
アプリを譲渡したい場合、譲渡したいアプリの証明書のみを譲渡先に渡すことができる
という利点があるのではと思います。
Android・iOSアプリを配信する時の署名まわり
コメント