flutter create でプロジェクト作成時の注意点(applicationId や 鍵)
flutter でプロジェクト作成して androidアプリをリリースする際の注意点です
newapp プロジェクト作成
flutter create newapp
で flutter のプロジェクト一式を作成できますが、 namespace や applilcationId などが "com.example.newapp" のようになってしまいます。
ちなみに com.example.~ だと play console ではじかれますので、適切な情報をセットしておかないといけません。
/android/app/build.gradle
// ここを変えたい
namespace = "info.hogehoge.hoge_flutter"
// ここを変えたい
applicationId = "info.hogehoge.hoge_flutter"
とりあえずこの2か所だけ手動でかえたらビルド(Android)はできてもアプリ起動即終了しました。変更しなければいけない箇所はそれ以外にもいくつかありますので、その前に
解決方法1 プロジェクト作成時にちゃんとする
flutter create のときに --org オプションをつける
flutter create newapp --org net.hoge
すると newapp フォルダが作られ build.gradle の中身は以下のようになります。
/android/app/build.gradle
// ~~~
namespace = "net.hoge.newapp"
// ~~~
applicationId = "net.hoge.newapp"
はじめからこうすればよいのですが、つくったあとに変更したい場合は
解決方法2 後から変更する場合
change_app_package_name をインストールして
flutter pub add -d change_app_package_name
flutter pub run change_app_package_name:main net.hoge.newapp
これで build.gradle など関係ファイル一式の変更されます。
追記* 鍵(play console) ⇒ 再作成と pem
namespace を後から変更すると ビルドを play console にアップロードできず(鍵まわりが原因)大変でした。原因となった 鍵をリセットするのに数日かかるようですので、それまでは アップロードできませんでした。鍵のリセット依頼の流れをざっくり紹介すると
play console側
- play console
- テストとリリース
- 設定
- アプリの署名
ローカル側では flutter のターミナルなどから以下の作業をしてください。
keytool -genkey -v -keystore ./key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
// アップロード鍵のリセットのリクエスト PEM
keytool -export -rfc -keystore key.jks -alias key -file upload_certificate.pem
upload_certificate.pem を「鍵のリセット」時にアップロードしてください。完了したらメールが届くと思います。
~~~ 鍵のリセット リクエストを受け取りました。新しいアップロード鍵は Nov 21, 2024の 6:11 AM(UTC)に有効になります。新しいアップロード鍵が有効になるまで、新しい App Bundle や APK をアップロードすることはできません。