Flutter: アプリの Application ID / Bundle ID を変更する - change_app_package_name

Flutter: アプリの Application ID / Bundle ID を変更する - change_app_package_name

December 20, 2022

Flutter でプロジェクトを新規作成するときに --org で組織名を指定することができます。

flutter create --org app.hello my_app

ここで指定しない場合は com.example で作成されます。

プロジェクト生成時の組織名が Android での Application ID、iOS での Bundle ID として設定されます。

あとから変更するのは手間になるので、途中で変更しなくて済むよう、プロジェクト生成時にきちんとした組織名で設定しておくのが良いでしょう。

とはいえ、後から変更したい場合は以下で紹介されている手順で変更可能です。

iOS に関しては Xcode で Bundle ID を修正すれば完了しますが、Android に関する修正は手数が多く手間がかかります(といっても実際そこまで大変でもないですけれど)。

そこで、修正作業を自動化してくれるライブラリがありますのでこれを利用しましょう。

change_app_package_name #

How to Use? の説明に書かれている内容に沿って作業すれば良いだけです。

まずはインストールします。

flutter pub add change_app_package_name

なお直接 pubspec.yaml に記載を追加して flutter pub get でも大丈夫です。

アプリの ID を次のように変えるとします。

  • 変更前:com.example.my_app
  • 変更後:app.sample.your_app

次のようにコマンドの最後に変更後のアプリ ID を指定して実行します。

flutter pub run change_app_package_name:main app.sample.your_app

実行結果として次のメッセージが表示されるはずです。

> Old Package Name: com.example.my_app
> Updating build.gradle File
> Updating Main Manifest file
> Updating Debug Manifest file
> Updating Profile Manifest file
> Project is using kotlin
> Updating MainActivity.kt
> Creating New Directory Structure
> Deleting old directories

実際にファイルの変更点を確認すると、次のように変更されていることが確認できます。

  • /android/app/build.gradleapplicationId の記述変更
  • /android/app/src/debug/AndroidManifest.xmlpackage の記述変更
  • /android/app/src/main/AndroidManifest.xmlpackage の記述変更
  • /android/app/src/profile/AndroidManifest.xmlpackage の記述変更
  • /android/app/src/main/kotlin/com/example/my_app/MainActivity.kt が削除され /android/app/src/main/kotlin/app/sample/your_app/MainActivity.kt が新規作成、そしてその中の package の記述変更