AndroidStudio で Flutter のプロジェクトを作った際に、パッケージ名に関してちょっとやらかしたことがあったので、メモっておきます。
- Windows 11 23H2
- AndroidStudio 2023.1.1 Patch 2
- Flutter 3.22.2
やらかしたこと
AndroidStudio を立ち上げたときの画面やメニューから、『 New Flutter Project 』を選択します。Flutter SDK の選択画面の次に、下記のような設定画面が表示されます。
このとき、『organization』にはドメイン名を逆から記述したものを設定すると思いますが、
のように、 Flutter のプロジェクト名(アプリの名称)に該当するものまで入れてしまってしまいました。
すると、作成されたプロジェクトのパッケージ名や bundleID は
- Android のパッケージ名:com.mori_soft.app.proj_create_test_missed.proj_create_test_missed
- iOS の bundleID:com.morisoft.app.projcreatetestmissed.projCreateTestMissed
のように、アプリ名の部分が二重になってしまいました。あー、いけてないな。
修正
本当は、
- Android のパッケージ名:com.mori_soft.app.proj_create_test_missed
- iOS の bundleID:com.mori-soft.app.proj-create-test-missed
のようになってほしかったんですよ。
まあ、作ったばっかりであればプロジェクトを再作成して、 Organization を入れなおせばいいだけなんですが、いろいろと事情があってそれができなかったので、手作業で修正しました。ということで、手作業での修正内容を以下にまとめておきます。
android のパッケージ名
下記を参考に関連するところを直しました。
Flutterでパッケージ名がcom.exampleになっているのをiOS/Androidで修正する箇所まとめ #Dart - Qiita
今回のプロジェクトだと、
- android/app/build.gradle 内の namespace と applicationId
- MainActivity.kt のパッケージ名とフォルダ構成
を修正するだけで済みました。
iOS の bundleId
bundleId を修正するには、一度 XCode でプロジェクトを開き、bundleId を修正します。
なお、 bundleID 修正後、一度 XCode でビルドしてみたら、うまくできませんでしたが、下記を試したところ、問題なくできました。どうも、 flutter pub get を一度実行してやるのが必要だったみたいです。
まとめ
思わぬところで手間どってしまいましたが、パッケージ名とかをあとから修正するのは結構な労力だったりするので、最初にやっといた方がいいですね。
あと、下記の記事の最後のあたりで書いてありますが、 android のパッケージ名と iOS の bundleId では、ハイフンとアンダースコアの扱いが違っています。
バンドルIDとは?初心者にもわかりやすく解説 | 東京のアプリ開発会社
なので、使いたいパッケージ名や bundlleId にこれらが入っている場合は、 Organization を正しく指定していても、そのあたりの修正が必要になるかもしれません。
ま、何かのご参考までに。