Changing the package name in Flutter involves several steps, primarily because the package name (also known as the application ID or package identifier) is configured differently on iOS and Android platforms. Below, I will explain how to change the package name on both platforms.
Android
To change the package name on Android, you need to modify the following locations:
- android/app/src/main/AndroidManifest.xml
- Change the package name from
package="com.example.oldname"to the new package name, e.g.,package="com.newcompany.newname".
- Change the package name from
- android/app/build.gradle
- Update
applicationId "com.example.oldname"to the new package nameapplicationId "com.newcompany.newname".
- Update
- android/app/src/main/kotlin or java directory
- Based on the original directory structure, e.g.,
com/example/oldname, refactor it to the new directory structurecom/newcompany/newname. - Also, ensure that package references within the directory files are updated.
- Based on the original directory structure, e.g.,
- android/app/src/debug/AndroidManifest.xml
- If it exists, update the package name.
- android/app/src/profile/AndroidManifest.xml
- If it exists, update the package name.
After making these changes, you may need to clean and rebuild the project in your IDE, or manually delete the build directory to ensure all changes are correctly applied.
iOS
On iOS, changing the package name typically refers to changing the project's Bundle Identifier:
- Open the Xcode Project
- Open
ios/Runner.xcworkspace.
- Open
- Change the Bundle Identifier
- In Xcode, select
Runner>Targets>Runnerin the project navigator, then in theGeneraltab, find theIdentitysection and changeBundle Identifierto the new package name, e.g.,com.newcompany.newname.
- In Xcode, select
Global Search and Replace
Ensure that all references to the old package name throughout the project are updated. You can use the global search and replace feature in your IDE to search for the old package name, e.g., com.example.oldname, and replace it with com.newcompany.newname.
Testing
After changing the package name, thoroughly test the application to ensure there are no issues caused by the change. Verify that the app runs normally on both simulators and physical devices, and that all features work correctly.
Important Notes
- If you have already published the app, changing the package name will be considered a new application. This means users need to download the app again and cannot update to get the new version. Therefore, changing the package name after publishing requires careful handling.
- Changing the package name may affect integration with third-party services like Firebase and Google Services, as these services may depend on specific package names.
By following these steps, you can successfully change the application's package name in your Flutter project.