com.example.app to com.yourcompany.app — Fluttrify automates the tedious process of updating all the necessary files on both the Android and iOS platforms.applicationId in build.gradle, and the package declaration in MainActivity.java/kt.Info.plist so your iOS bundle identifier matches the new package name.--platform flag.applicationId in build.gradleCFBundleIdentifier in Info.plist. The whole run ships with a progress animation so you can watch each file get processed.CFBundleIdentifier uses a variable such as $(PRODUCT_BUNDLE_IDENTIFIER), that value
requires a manual update — Fluttrify won't resolve build-setting variables.1dart pub global activate fluttrify
PATH environment
variable, otherwise the fluttrify executable won't be found after activation.1234567891011# Clone the repository git clone https://github.com/aliarain/fluttrify.git # Navigate to the project directory cd fluttrify # Get dependencies dart pub get # Activate the package globally dart pub global activate --source path .
1cd path/to/your/flutter_project
1fluttrify com.company.hello
12345678910Starting package rename process... Processing... 🚀 | Updating AndroidManifest.xml for main (Current package: com.example.myapp) Updating AndroidManifest.xml for debug (Current package: com.example.myapp) Updating AndroidManifest.xml for profile (Current package: com.example.myapp) Updating build.gradle (Current package: com.example.myapp) Updating MainActivity.java (Current package: com.example.myapp) Updated and moved MainActivity.java Updating Info.plist (Current package: com.example.myapp) Package renaming complete! 🎉
12flutter clean flutter pub get
12-h, --help Show usage information -p, --platform Platform to rename: android, ios, or both (default: both)
12345678# Rename package for both platforms fluttrify com.company.hello # Rename package for Android only fluttrify com.company.hello --platform=android # Rename package for iOS only fluttrify com.company.hello -p ios
-p android and handle iOS
manually.com.example.myapp into com.company.hello across the manifest, Gradle config, and activity:1234567891011# In android/app/src/main/AndroidManifest.xml - <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myapp"> + <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.company.hello"> # In android/app/build.gradle - applicationId "com.example.myapp" + applicationId "com.company.hello" # In MainActivity.java/kt - package com.example.myapp; + package com.company.hello;
12Before: android/app/src/main/java/com/example/myapp/MainActivity.java After: android/app/src/main/java/com/company/hello/MainActivity.java
Info.plist is rewritten:1234# In ios/Runner/Info.plist <key>CFBundleIdentifier</key> - <string>com.example.myapp</string> + <string>com.company.hello</string>
$(PRODUCT_BUNDLE_IDENTIFIER) — both
of those remain manual steps.1234567891011121314151617181920212223242526272829# fluttrify — agent integration instructions Rename this Flutter app's Android package name and iOS bundle identifier using the fluttrify CLI (pub.dev). Requires Dart SDK 3.6.0+ and a standard Flutter project layout. Follow these rules exactly: 1. Install globally: dart pub global activate fluttrify (ensure the Dart SDK bin directory is on PATH so the `fluttrify` executable resolves). 2. Run from the Flutter project root — the tool operates on the current directory: cd path/to/flutter_project 3. Rename with the new identifier as the only argument (updates both platforms by default): fluttrify com.company.hello 4. To target one platform, use -p/--platform: fluttrify com.company.hello --platform=android fluttrify com.company.hello -p ios Use -p android when the iOS bundle identifier is managed through Xcode build settings. 5. What it edits: AndroidManifest.xml package attribute (main, debug, profile), applicationId in build.gradle, the package declaration in MainActivity.java/kt (and moves MainActivity to the new package directory), and CFBundleIdentifier in ios/Runner/Info.plist. 6. What it does NOT edit: package-name references inside Dart source code, and an iOS CFBundleIdentifier set to a variable like $(PRODUCT_BUNDLE_IDENTIFIER) — update those manually. 7. After the rename, always run: flutter clean && flutter pub get so stale build artifacts don't reference the old identifier. Docs: https://docs.aliarain.com/fluttrify
llms.txt index.