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

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


当前回答

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

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。

其他回答

更改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

修改导入包名称

一步一步

在您首选的IDE中打开项目文件夹。 定位pubspec。Yaml文件在项目的根。 将以下行添加到pubspec中。yaml文件:

名称:< your_new_package_name >

在同一目录下,打开“android”文件夹。 打开app文件夹并找到构建。gradle文件。 用新的包名替换当前的包名。 打开ios文件夹。 定位跑步者。ios文件夹中的Xcodeproj文件。 打开信息。plist文件。 用新的包名替换当前的包名。 保存所有更改并关闭文件。 执行命令flutter clean。 最后,运行命令flutter pub get。

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

从Android Studio 4.1.3开始,更改包名再简单不过了。

如果您不使用Firebase或任何其他外部服务,只需更改以下文件中的包名称:

在构建中。Gradle (app)文件 在Manifest文件中(主文件、调试文件和概要文件) 包导入在代码文件(Android Studio。将处理更改)

注意:还要更改目录名(在Kotlin或Java下)。

如果您使用Firebase或任何其他外部服务,您也需要更改那里的包名称。