見出し画像

Google Play Consoleに登録するためのaabファイルの署名に困った時の話


対象読者

・Google Play Consoleにaabファイルを登録したい人
・VSCodeでFlutterアプリを作っている人
・GitHubでPublicリポジトリで公開している人
・署名用ファイル管理が面倒くさい人

困ったこと

Google Play Consoleにaabファイルを登録しようとしたところ、署名で弾かれてしまった。
アプリ署名はGoogle Play Consoleで自動設定済。
アプリ署名は必要ないが、アップロード鍵での署名は必須だと判明。
調べてみると、keyを作成してgradleで設定して、Githubに公開されないように管理してあげればよさそう。
だけど管理するの大変そうだな……

まず結論

署名付きaabファイルを生成する時だけAndroid Studioを使うことにしました。

……はい、多分普通のやり方だと思います。

自分みたいになんとなくVSCodeを使って同じ悩みを抱えてしまった方、Android Studioだと楽ですよ!

経緯

普段はVisual Studio CodeでFlutterアプリを作成。
開発中はflutter build apkコマンドでAndroid実行用のapkファイルを作成していました。

Google Playでの公開に向けてデベロッパーアカウントを作成したので、まずは内部テスト用にアプリを登録することにします。

Google Play Consoleに登録する際は、実行用のapkファイルではなく、App Bundle (aab)ファイルを登録するみたいです。
多分次のコマンドでいけるはずです。
flutter build appbundle --release
無事aabファイルが生成できました。

今は署名はGoogleがやってくれると書いてあったので、このaabファイルで登録できるはず……
弾かれました。
署名しないといけないようです。

調べてみたところ、署名には2種類あるみたいです。
①アプリが本物かどうかを証明するためのアプリ署名
→Googleが署名してくれるので、意識しなくてもOK
②アップロードのための署名
→自分で署名する必要があります。
(ただ、もし紛失してもGoogle Play Consoleに再登録できるようです)

なるほど、アップロード鍵で署名すればいいのか
方法を調べてみよう

方法① gradleで設定
→keyを作成して、gradleでビルド時に署名する
→GitHubで公開していると管理が大変そうです

方法② 署名無しaabファイルに対してコマンドで署名
→コマンドにまだパスが通っていないようです

ちょっと大変そうです
他に方法はないかな?

Android Studioには署名付きaabファイルの生成機能があるようです。
使ってみました。

初回、キーをGitの外側に生成して、パスワードを保存にチェックをいれます。
次回以降、クリックをするだけで署名付きaabファイルを生成できるようになりました。

無事、Google Play Consoleでも問題なく取り込めるようになりました。
解決です。

この記事が気に入ったらサポートをしてみませんか?