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

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


当前回答

安卓

在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方面的帮助。

更新:

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

其他回答

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

我认为这不是解决这个问题的正确办法。但是您可以用您想要的包名创建一个新项目,然后从现有项目中将所有源文件复制到新项目中。

**注意:你也必须复制pubspec的所有内容。在firebase和其他api的情况下,这个解决方案可能有点冗长。

安卓

在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。

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

在Android系统中,修改应用程序id为

> build.gradle

文件和iOS更改

项目设置中的> bundle名称。