[android] How to change package name in flutter?

Is there any way to change Package Name of Flutter project?

I want to change package name and application name in flutter project.

This question is related to android dart flutter

The answer is


For Android App Name

Change the label name in your AndroidManifest.xml file:

 <application
    android:name="io.flutter.app.FlutterApplication"
    android:label="TheNameOfYourApp"   

For Package Name

Change the package name in your AndroidManifest.xml (in 3 of them, folders: main, debug and profile, according what environment you want to deploy) file:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="your.package.name">

Also in your build.gradle file inside app folder

defaultConfig {
    applicationId "your.package.name"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

Finally, change the package in your MainActivity.java class (if the MainActivity.java is not available, check the MainActivity.kt)

    package your.package.name;

    import android.os.Bundle;
    import io.flutter.app.FlutterActivity;
    import io.flutter.plugins.GeneratedPluginRegistrant;
    public class MainActivity extends FlutterActivity {

Change the directory name:

From:

  android\app\src\main\java\com\example\name

To:

  android\app\src\main\java\your\package\name
  

EDITED : 27-Dec-18

for package name just change in build build.gradle only

defaultConfig {
    applicationId "your.package.name"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

For iOS

Change the bundle identifier from your Info.plist file inside your ios/Runner directory.

<key>CFBundleIdentifier</key>
<string>com.your.packagename</string>

UPDATE

To avoid renaming the package and bundle identifier, you can start your project using this command in your terminal:

flutter create --org com.yourdomain appname

Changing name manually doesn't seem to work, throws gradle errors, well in my case it does throw error.

So I usually create a new flutter project.

I use below mentioned command to create a new flutter app

flutter create --org com.yourdomain appname

your project will have the package name as -> com.yourdomain.appname


if you just want to keep your package name as com.appname then make some changes as below

flutter create --org com appname

to add java instead of kotlin for android add -a java

flutter create -a java --org com.yourdomain appname

EDIT


If you have already created a project you can use change_app_package_name package to change the package name.

flutter pub run change_app_package_name:main com.package.appname

For those like me that doesn't like to change specific files, I've used https://pub.dev/packages/rename.

Using this, you simply run these commands in your terminal and your app name and identifiers will be changed.pub global run

Installing: pub global activate rename

And then, Run this command inside your flutter project root.

pub global run rename --bundleId com.example.android.app --target android


Android

In Android the package name is in the AndroidManifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    ...
    package="com.example.appname">

iOS

In iOS the package name is the bundle identifier in Info.plist:

<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

which is found in Runner.xcodeproj/project.pbxproj:

PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;

Changing the name

The package name is found in more than one location, so to change the name you should search the whole project for occurrences of your old project name and change them all.

Android Studio and VS Code:

  • Mac: Command + Shift + F
  • Linux/Windows: Ctrl + Shift + F

Thanks to diegoveloper for help with iOS.

Update:

After coming back to this page a few different times, I'm thinking it's just easier and cleaner to start a new project with the right name and then copy the old files over.


Change name attribute in pubspec.yaml (line 1)

For the name of apk, change android:label in AndroidManifest.xml


This is how i renamed package for both ios and android

  1. Go to build.gradle in app module and rename applicationId "com.company.name"
  2. Go to Manifest.xml in app/src/main and rename package="com.company.name" and android:label="App Name"
  3. Go to Manifest.xml in app/src/debug and rename package="com.company.name"
  4. Go to Manifest.xml in app/src/profile and rename package="com.company.name"
  5. Go to app/src/main/kotlin/com/something/something/MainActivity.kt and rename package="com.company.name"
  6. Go to app/src/main/kotlin/ and rename each directory so that the structure looks like app/src/main/kotlin/com/company/name/
  7. Go to pubspec.yaml in your project and change name: something to name: name, example :- if package name is com.abc.xyz the name: xyz
  8. Go to each dart file in lib folder and rename the imports to the modified name.
  9. Open XCode and open the runner file and click on Runner in project explorer.
  10. Go to General -> double click on Bundle Identifier -> rename it to com.company.name
  11. Go to Info.plist click on Bundle name -> rename it to your App Name.
  12. close everything -> go to your flutter project and run this command in terminal flutter clean

According to the official flutter documentation you just need to change the ApplicationId in app/build.gradle directory. Then you have to just build your apk and the package name of the manifest file will be changed according to the ApplicationId you changed in build.gradle. Because of flutter while building an apk and google play both consider ApplicationId from build.gradle. This solution worked for me.

source: Official Documentation


change in all AndroidManifest.xml files of your Flutter Project, --> package="your.name.app" (app/src/debug/AndroidManifest.xml) and (app/src/main/AndroidManifest.xml) and (app/src/profile/AndroidManifest.xml)

good look !!


On Visual Studio code

Edit > Replace in Files

vs code replace in files

On Android studio

1. Right click on your project > Replace in path

replace in path

2. Write your old package and new package > Replace all

replace all screenshot


Updated You have to change the package name to your desired package name in these five location.

1.) src/profile/AndroidManifest.xml
2.) src/debug/AndroidManifest.xml
3.) src/main/AdroidManifest.xml
4.) build.gradle .
       defaultConfig {
           applicationId
5.) MainActivity.java on "package"

last step is to run flutter clean


Change App Package Name with single command by using following package. It makes the process very easy and fast.

flutter pub run change_app_package_name:main com.new.package.name

https://pub.dev/packages/change_app_package_name


Quickest and cleanest way to change your package name :

Warning : You may want to save some files in android/ and ios/ folder before it gets deleted !

  1. Delete your folders at the root of your flutter project :
  • android/
  • ios/
  • build/
  1. Let's say you want to rename from com.oldcompany.oldproject to com.newcompany.newproject Launch the following code :

    flutter create --org com.newcompany --project-name newproject .
    

PS : To make sure everything is set up correctly, you can search for your package names in your files, by typing the commands grep --color -r com.oldcompany.oldproject * and grep --color -r com.newcompany.newproject *


I had two manifest.xml file in my app section,so I needed to change package name in bothHere you can see


After trying all of the above. Simple work for me to rename package flutter with Android Studio:

Step 1:

Mac: Command + Shift + R

Linux/Windows: Ctrl + Shift + R

After change to new package and press Replace All and wait Android Studio run finish.

flutter rename package in Android Studio

Step 2:

Next, go to AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.package.name">

and copy package name and do the same Step 1 to rename package in AndroidManifest and build.gradle.

Finally, change the package in your MainActivity.java class (if the MainActivity.java is not available, check the MainActivity.kt)

package your.package.name;

import android.os.Bundle;
import io.flutter.app.FlutterActivity;
import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {

Change the directory name. For details see the following link this:

From:

android\app\src\main\java\com\example\name

To:

android\app\src\main\java\your\new_package\name


Even if my answer wont be accepted as the correct answer, I just feel all these answers above caused me to have more problems here is how I fixed it

  1. Get Sublime Text (crazy, right? No, just follow my steps)
  2. Click on file and select open folder, then choose the folder of the project you are working on
  3. Now click on Find from the Tabs, and select find in files or just do Ctrl + Shift + F (for Windows users, for mac users you already know the drill)
  4. Now copy and paste exactly the name of the package you want to change in the Find section and paste in the replace section what you would like to replace the package name with.
  5. Click on FIND (do not click on REPLACE just yet).
  6. Now clicking on Find lists all available package name in your project which matches your search criteria, if you are satisfied with this then repeat from no. 3 but this time click on REPLACE.
  7. Rebuild your project and have fun

Conclusion: a simple find and replace program is all you need to sort this problem out, and I strongly recommend Sublime Text 3 for that.


the right to change path for default way for both Android and Ios.

for Android

open AndroidManifest.xml,

  • go to this path.

app/src/main/AndroidManifest.xml

  • select on package name, and right click,

enter image description here

  • after click on rename, rename popup(dialog) show.

enter image description here

  • enter the new package name here,

enter image description here

  • after changes name text, click on refactor button.

__________________________________________________________________________

for Ios

  • select ios folder from drawer, and right click on these,

enter image description here

  • select,and double click on Runner in drawer,and then select General

enter image description here

  • and then, change your Bundle Identifier(Package Name).
  • after changes Bundle Identifier(Package Name), Your Package Name is changed for Ios.

Change App Package Name easily using change_app_package_name package

just add the above package in dev dependencies

dev_dependencies:
  flutter_test:
    sdk: flutter
  change_app_package_name: ^0.1.2

and run the following command, replace "com.new.package.name" with your new package name

flutter pub run change_app_package_name:main com.new.package.name

Package Link on Pub Dev

screenshot of Package


You can follow this official documentation by Google: https://developer.android.com/studio/build/application-id.html

Application ID should be changed in Build.gradle, while package name can be changed in AndroidManifest.xml.

However one should be careful changing package name.

Also while re uploading the app, one should be careful since it matches the application ID of previously uploaded app with new upload.


In Android, change application id in

> build.gradle

file and iOS change

> bundle name from project settings.


To change package name in flutter , you have to do it for all platforms.

To make it easier, I suggest you to use rename package .

Just run this command inside your flutter project root.

pub global run rename --bundleId com.onat.networkApp

Here, com.onat.networkApp is your package name

To target a specific platform use the "-t" option. e.g:

pub global run rename --bundleId com.example.android.app -t android

You can learn more about rename package here


If you don’t like changing files in such a way then alternative way would be to use this package.

https://pub.dev/packages/rename

rename --bundleId com.newpackage.appname
pub global run rename --appname "Your New App Name"

Using this, you simply run these 2 commands in your terminal and your app name and identifiers will be changed.pub global run


Questions with android tag:

Under what circumstances can I call findViewById with an Options Menu / Action Bar item? How to implement a simple scenario the OO way My eclipse won't open, i download the bundle pack it keeps saying error log getting " (1) no such column: _id10 " error java doesn't run if structure inside of onclick listener Cannot retrieve string(s) from preferences (settings) strange error in my Animation Drawable how to put image in a bundle and pass it to another activity FragmentActivity to Fragment A failure occurred while executing com.android.build.gradle.internal.tasks Why am I seeing net::ERR_CLEARTEXT_NOT_PERMITTED errors after upgrading to Cordova Android 8? "Failed to install the following Android SDK packages as some licences have not been accepted" error Android Gradle 5.0 Update:Cause: org.jetbrains.plugins.gradle.tooling.util No Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator WebView showing ERR_CLEARTEXT_NOT_PERMITTED although site is HTTPS WARNING: API 'variant.getJavaCompile()' is obsolete and has been replaced with 'variant.getJavaCompileProvider()' GoogleMaps API KEY for testing Can I use library that used android support with Androidx projects. How to allow all Network connection types HTTP and HTTPS in Android (9) Pie? Android Material and appcompat Manifest merger failed Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0 How to format DateTime in Flutter , How to get current time in flutter? How to change package name in flutter? Failed to resolve: com.android.support:appcompat-v7:28.0 What is AndroidX? Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve FirebaseInstanceIdService is deprecated installation app blocked by play protect Handling back button in Android Navigation Component Android design support library for API 28 (P) not working Failed to resolve: com.google.firebase:firebase-core:16.0.1 com.google.android.gms:play-services-measurement-base is being requested by various other libraries java.lang.NoClassDefFoundError:failed resolution of :Lorg/apache/http/ProtocolVersion Install Android App Bundle on device Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and test app (27.1.1) differ. How to develop Android app completely using python? Invoke-customs are only supported starting with android 0 --min-api 26 Flutter.io Android License Status Unknown How to open Android Device Monitor in latest Android Studio 3.1 Default interface methods are only supported starting with Android N How can I change the app display name build with Flutter? Error:(9, 5) error: resource android:attr/dialogCornerRadius not found error: resource android:attr/fontVariationSettings not found Flutter does not find android sdk Error - Android resource linking failed (AAPT2 27.0.3 Daemon #0) Error : Program type already present: android.support.design.widget.CoordinatorLayout$Behavior flutter run: No connected devices Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6 Still getting warning : Configuration 'compile' is obsolete and has been replaced with 'implementation' PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT (in windows 10)

Questions with dart tag:

How to integrate Dart into a Rails app Flutter Countdown Timer How to make an AlertDialog in Flutter? Set the space between Elements in Row Flutter Flutter: RenderBox was not laid out Space between Column's children in Flutter How to change status bar color in Flutter? How can I add shadow to the widget in flutter? Flutter - The method was called on null Flutter- wrapping text Flutter plugin not installed error;. When running flutter doctor How to scroll page in flutter How to format DateTime in Flutter , How to get current time in flutter? How to change package name in flutter? How do you change the value inside of a textfield flutter? Flutter: Setting the height of the AppBar How to add image in Flutter Flutter position stack widget in center Flutter command not found Dart/Flutter : Converting timestamp Flutter Circle Design Iterating through a list to render multiple widgets in Flutter? HTTP POST with Json on Body - Flutter/Dart Not able to change TextField Border Color How do I use hexadecimal color strings in Flutter? flutter corner radius with transparent background Create a rounded button / button with border-radius in Flutter Dart: mapping a list (list.map) How to use conditional statement within child attribute of a Flutter Widget (Center Widget) How to make flutter app responsive according to different screen size? Check whether there is an Internet connection available on Flutter app How to create number input field in Flutter? How to Determine the Screen Height and Width in Flutter Flutter: Run method on Widget build complete How can I change the app display name build with Flutter? How do I disable a Button in Flutter? How to set up devices for VS Code for a Flutter emulator How to clear Flutter's Build cache? How to implement drop down list in flutter? Flutter: how to make a TextField with HintText but no Underline? Dart SDK is not configured How to add a border to a widget in Flutter? How to work with progress indicator in flutter? How to create Toast in Flutter? How to add a ListView to a Column in Flutter? How can I dismiss the on screen keyboard? Visual Studio Code - Target of URI doesn't exist 'package:flutter/material.dart' Flutter - Wrap text on overflow, like insert ellipsis or fade Show/hide widgets in Flutter programmatically Flutter - Layout a Grid

Questions with flutter tag:

Flutter Countdown Timer How to make an AlertDialog in Flutter? FlutterError: Unable to load asset Set the space between Elements in Row Flutter Flutter: RenderBox was not laid out Space between Column's children in Flutter How to change status bar color in Flutter? How can I add shadow to the widget in flutter? Flutter - The method was called on null Flutter- wrapping text Flutter plugin not installed error;. When running flutter doctor How to scroll page in flutter Waiting for another flutter command to release the startup lock Under which circumstances textAlign property works in Flutter? How to format DateTime in Flutter , How to get current time in flutter? Flutter : Vertically center column How to change package name in flutter? Rounded Corners Image in Flutter How do you change the value inside of a textfield flutter? Flutter: Setting the height of the AppBar How to add image in Flutter Flutter position stack widget in center Custom Card Shape Flutter SDK Flutter command not found Dart/Flutter : Converting timestamp How do I center text vertically and horizontally in Flutter? Flutter Circle Design Iterating through a list to render multiple widgets in Flutter? How to change TextField's height and width? How to set the width of a RaisedButton in Flutter? HTTP POST with Json on Body - Flutter/Dart How to find the path of Flutter SDK Not able to change TextField Border Color Create a button with rounded border How do I use hexadecimal color strings in Flutter? Button Width Match Parent flutter corner radius with transparent background Create a rounded button / button with border-radius in Flutter Dart: mapping a list (list.map) How to create a circle icon button in Flutter? Flutter.io Android License Status Unknown How to use conditional statement within child attribute of a Flutter Widget (Center Widget) How to make flutter app responsive according to different screen size? Check whether there is an Internet connection available on Flutter app How to create number input field in Flutter? How to Determine the Screen Height and Width in Flutter How to run code after some delay in Flutter? Flutter: Run method on Widget build complete Round button with text and icon in flutter How can I change the app display name build with Flutter?