プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

AndroidStudio で Flutter プロジェクトを新規作成するときにやらかしたこと

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 を一度実行してやるのが必要だったみたいです。

ios - Error: Could not find included file 'Generated.xcconfig' in search paths (in target 'Runner') - Stack Overflow

まとめ

思わぬところで手間どってしまいましたが、パッケージ名とかをあとから修正するのは結構な労力だったりするので、最初にやっといた方がいいですね。

あと、下記の記事の最後のあたりで書いてありますが、 android のパッケージ名と iOS の bundleId では、ハイフンとアンダースコアの扱いが違っています。

バンドルIDとは?初心者にもわかりやすく解説 | 東京のアプリ開発会社

なので、使いたいパッケージ名や bundlleId にこれらが入っている場合は、 Organization を正しく指定していても、そのあたりの修正が必要になるかもしれません。

ま、何かのご参考までに。