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

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


当前回答

若要在flutter中更改包名,必须对所有平台执行此操作。

为了使它更容易,我建议您使用重命名包。

只需在flutter项目根目录中运行此命令。

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

这里,com.onat.networkApp是包名

要瞄准特定的平台,请使用“-t”选项。 例句:

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

您可以在这里了解有关重命名包的更多信息

其他回答

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

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

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

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

捷径:

全局搜索- ctrl+shift+f

更换包装

文件搜索- ctrl+f

修改导入包名称

更改pubspec中的name属性。Yaml(第一行)

对于apk的名称,修改AndroidManifest.xml中的android:label

手动更改名称似乎不起作用,抛出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

安卓

在Android中,包名在AndroidManifest中:

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

iOS

在iOS中,包名是Info.plist中的包标识符:

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

在Runner.xcodeproj/project.pbxproj中找到:

PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;

更改名称

包名在不止一个位置,因此要更改名称,您应该在整个项目中搜索旧项目名的出现情况并全部更改它们。

Android Studio和VS Code:

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


感谢diegoveloper在iOS方面的帮助。

更新:

在回到这个页面几次之后,我认为用正确的名称开始一个新项目,然后复制旧文件会更容易、更干净。

如果你还没有开始这个项目,这是最好的方法。

flutter create --org com.yourdomain appname

如果您已经创建了该项目,请在dev_dependencies中安装此包并运行此命令。

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

这将改变所有复杂的东西,改变包的名字在android。右键点击flutter的iOS文件夹,用Xcode打开。

在Xcode >中选择Runner >在general选项卡中你可以改变bundle Identifier。

如果您已经创建了一个项目,并且不知道更改包名的复杂性,那么这是最简单的方法。