是否有办法更改Flutter项目的Package Name ?

我想在flutter项目中更改包名和应用名。


当前回答

Android应用名称

修改AndroidManifest.xml文件中的标签名称:

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

软件包名称

修改AndroidManifest.xml文件中的包名(其中3个文件夹:main, debug和profile,根据你想部署的环境):

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

在你的构建中也是如此。应用程序文件夹内的Gradle文件

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

最后,更改MainActivity.java类中的包(如果MainActivity.java不可用,请检查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 {

修改目录名称:

来自:

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

To:

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

编辑:12月18日

对于包名,只需在build build中更改即可。它只

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

为iOS

从你的信息中更改包标识符。plist文件在你的ios/Runner目录。

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

更新

为了避免重命名包和包标识符,你可以在终端中使用以下命令启动你的项目:

flutter create --org com.yourdomain appname

其他回答

更改Flutter Project的所有AndroidManifest.xml文件,——> package="your.name.app" (app / src /调试/ AndroidManifest.xml)和 (app/src/main/AndroidManifest.xml)和(app/src/profile/AndroidManifest.xml)

好看!!

我已经对现有的包名进行了全局搜索,并使用新的包名更改了所有字段。然后改变

应用程序- > src - - > >主要yourOldFolderName

按新包名命名的文件夹名。之后,将所有导入的包名更改为新的包名。这需要大量的手工工作,但这是值得的,没有任何问题。

注意:注意包名前的空格,它可能会给出内置错误

捷径:

全局搜索- ctrl+shift+f

更换包装

文件搜索- ctrl+f

修改导入包名称

即使我的答案不会被接受为正确答案,我只是觉得所有这些答案导致我有更多的问题,这里是我如何解决它

Get Sublime Text (crazy, right? No, just follow my steps) Click on file and select open folder, then choose the folder of the project you are working on 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) 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. Click on FIND (do not click on REPLACE just yet). 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. Rebuild your project and have fun

结论:一个简单的查找和替换程序就可以解决这个问题,我强烈推荐Sublime Text 3。

对于像我这样不喜欢更改特定文件的人,我使用了https://pub.dev/packages/rename。

使用这个,你只需要在你的终端上运行这些命令,你的应用名称和标识符就会被改变。酒吧全球运营

正在安装:pub全局激活重命名

然后,在颤振项目根目录中运行此命令。

pub全局运行rename——bundleId com.example.android.app——目标android

手动更改名称似乎不起作用,抛出gradle错误,在我的情况下,它确实抛出错误。

所以我通常会创建一个新的颤振项目

我使用下面提到的命令创建一个新的扑动应用程序

flutter create --org com.yourdomain appname

您的项目的包名将是-> com.yourdomain.appname


如果你只是想保持你的包名称为com。然后对Appname进行如下更改

flutter create --org com appname

为android添加Java而不是kotlin添加-a Java

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

EDIT


如果您已经创建了一个项目,您可以使用change_app_package_name包来更改包的名称。

flutter pub run change_app_package_name:main com.package.appname