【Flutter】Androidアプリのストアリリース手順
Flutterで、アプリが完成した後、Androidアプリをストアにリリースするまでの手順をまとめておきます。
基本的なAndroidアプリのストアリリースの参考記事
一番参考にするのは以下の記事です。
Preparing an Android app for release - Flutter
こちらはFlutterの公式ドキュメントです。
だいたいこちらの手順に従うのですが、一部初めてのリリースの人にとっては説明が少ない箇所もあります。
大まかな手順は以下の通り。
- アイコンの作成
- ビルドのためにKeyの作成と設定
- ビルド
- Google Play Consoleで申請手続き
詳しく見ていきます。
アイコンの作成
Googleストアに提出するためには、アイコンを作成する必要があります。
Flutterには、flutter_launcher_iconsというパッケージがあり、それを使えばいろんなサイズのアイコンを作成してくれます。
flutter_launcher_icons | Dart Package
こちらのパッケージの使い方は以下の記事がわかりやすいです。
【Flutter】iOSとAndroidのアプリアイコンを一括生成する - Qiita
捕捉ポイントは、元のアイコンサイズは1024x1024で作成。
keyの作成とAPKのビルド
次に、AndroidアプリをビルドするためにKeyを作成する。これは、署名するために使うもので、今後アプリをバージョンアップする時などにも使うために無くさないようにすることと、決してオンライン上におかないことが大事です。
Keystoreシステムの詳細は以下の記事を参考。
Android Keystore システム | Android Developers
実際の手順は以下の3つの記事がわかりやすい。
【Flutter】アプリをGoogle Play、App Storeに公開する方法 | 技術雑記
【Flutter】Androidアプリのリリースビルドをしてみる - Qiita
【Flutter】android releaseビルド作成時のメモ|yumehachi|note
私がハマったポイントは以下の2点です。
①keyの生成場所
keytool -genkey -v -keystore key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
でkeyを作成する。
その際、keyの生成はどこのディレクトリからもできるが、基本は /Users/○○○○○○/ のパスの状態で作成する(○○○○○○は自分のMacの名前)。(最初どこのディレクトリで作成するのが良いか迷った。どちらにせよ /Users/○○○○○○/key.jks にファイルができる。)
②key.properties作成
key.propatiesのパスワードは、Key作成時のパスワードで、上記の参考記事にあるパスワードを括る「<>」も含めてパスワードに置き換えること。
例:パスワードが password1234なら、以下のようになる。
storePassword=password1234
残りの作業(build.gradleの更新、APKのビルド)は上記記事か、公式ドキュメントを参考すればつまづくことはないと思います。
この設定は上記の中ではこちらが一番わかりやすかったです。
【Flutter】Androidアプリのリリースビルドをしてみる - Qiita
もしかしたら必要かも:デバッグラベルを削除
APKのビルドする前に一つ確認として、もしエミュレーターでテストするときに右上にデバックラベルがついたままなら、公開するときには削除している必要があるので以下の処理を行って消す。
How to remove debug banner in flutter on android emulator? - Stack Overflow
ここまででFlutter側の設定は完了です。次はGoogle Play側の設定になります。
Google Play Consoleからアプリの登録
Google Play Consleにアクセスして、アプリの登録を行います。
https://play.google.com/apps/publish/
設定は以下の記事の後半がわかりやすいです。
Google Play Storeにアプリを公開する - Qiita
こちらは順番に従っていけばそのまま公開申請まで行けると思います。
こうして見ると非常に簡単にリリースまでいけますね。
自分が少し苦戦したのは、各情報が散らばっていたのと、Flutter側で必要な設定と、Google Play側で必要な設定のイメージが自分でできていなかったためでした。
Android/iOSクロス開発フレームワーク Flutter入門
Flutter×Firebaseで始めるモバイルアプリ開発 (技術の泉シリーズ(NextPublishing))