360

有什么方法可以更改 Flutter 项目的包名称吗?

我想在颤振项目中更改包名和应用程序名。

4

28 回答 28

552

对于 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">

同样在您的build.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

至:

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

编辑:18 年 12 月 27 日

对于包名称build.gradle仅在构建中更改

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

对于 iOS

Info.plist从目录中的文件更改捆绑标识符ios/Runner

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

更新

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

flutter create --org com.yourdomain appname
于 2018-07-27T03:29:15.280 回答
103

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

所以我通常会新建一个flutter项目。

我使用下面提到的命令来创建一个新的颤振应用程序

flutter create --org com.yourdomain appname

您的项目的包名称为 -> com.yourdomain.appname


如果您只想保留您的包名称,请com.appname进行如下更改

flutter create --org com appname

添加java而kotlin不是android添加-a java

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

编辑


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

flutter pub run change_app_package_name:main com.package.appname
于 2019-05-21T10:03:35.707 回答
66

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

使用它,您只需在终端中运行这些命令,您的应用程序名称和标识符将被更改。pub 全局运行

安装:pub global activate rename

然后,在你的颤振项目根目录中运行这个命令。

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

于 2020-03-30T13:54:12.740 回答
39

安卓

在 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 代码:

  • 麦克:Command+ Shift+F
  • Linux/Windows: Ctrl+ Shift+F

感谢diegoveloper对 iOS 的帮助。

更新:

在多次返回此页面后,我认为用正确的名称开始一个新项目然后复制旧文件会更容易和更清晰。

于 2019-03-12T18:05:33.890 回答
24

这就是我为 ios 和 android 重命名包的方式

  1. 转到 app 模块中的 build.gradle 并重命名applicationId "com.company.name"
  2. 转到 Manifest.xmlapp/src/main并重命名package="com.company.name"android:label="App Name"
  3. 进入 Manifest.xmlapp/src/debug并重命名package="com.company.name"
  4. 进入 Manifest.xmlapp/src/profile并重命名package="com.company.name"
  5. 转到app/src/main/kotlin/com/something/something/MainActivity.kt并重命名package="com.company.name"
  6. 转到app/src/main/kotlin/并重命名每个目录,使结构看起来像app/src/main/kotlin/com/company/name/
  7. 转到pubspec.yaml您的项目并更改name: somethingname: name,例如:-如果包名称com.abc.xyzname: xyz
  8. 转到 lib 文件夹中的每个 dart 文件并将导入重命名为修改后的名称。
  9. 打开 XCode 并打开 runner 文件,然后在项目资源管理器中单击 Runner。
  10. 转到常规->双击捆绑标识符->将其重命名为com.company.name
  11. 转到 Info.plist 单击 Bundle name -> 将其重命名为您的 App Name。
  12. 关闭所有内容 -> 转到您的颤振项目并在终端中运行此命令flutter clean
于 2019-11-06T11:26:02.617 回答
24

更改 (第 1 行)name中的属性pubspec.yaml

对于 apk 的名称,更改android:labelAndroidManifest.xml

于 2018-07-27T03:00:05.997 回答
16

尽可能简单地使用这个change_app_package_name包首先添加依赖

 dev_dependencies: 
  change_app_package_name: any

然后运行这个命令

flutter pub run change_app_package_name:main com.new.package.name
于 2021-07-26T18:31:32.320 回答
11

如果您没有启动项目,这是最好的方法。

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 > In general选项卡中,您可以更改包标识符。

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

于 2021-06-20T08:28:38.857 回答
8

根据官方的颤振文档,您只需要更改ApplicationIdinapp/build.gradle目录。然后你只需要构建你的 apk 并且清单文件的包名将根据ApplicationId你在build.gradle. 由于在构建 apk 和 google play 时出现颤振,都ApplicationId从 build.gradle 考虑。这个解决方案对我有用。

来源:官方文档

于 2020-03-20T18:05:00.640 回答
7

更改 Flutter 项目的所有AndroidManifest.xml文件, --> package="your.name.app " (app/src/debug/ AndroidManifest.xml ) 和 (app/src/main/ AndroidManifest.xml ) 和 (app /src/profile/AndroidManifest.xml ) _

好看 !!

于 2019-03-08T16:00:17.903 回答
7

在 Visual Studio 代码上

编辑 > 在文件中替换

vs代码替换文件

在安卓工作室

1.右键单击您的项目>替换路径

在路径中替换

2.写你的旧包和新包>全部替换

替换所有截图

于 2020-01-09T09:42:26.840 回答
6

更改包裹名称的最快和最干净的方法!

警告:

如果您已编辑文件夹android/ios/windows/的内容,则需要确保在继续之前将这些更改备份到某处。

1. 删除你的flutter项目根目录下的文件夹:

  • android/
  • ios/
  • windows/
  • build/

假设您想从 to 重com.oldcompany.oldproject命名com.newcompany.newproject

2. 从项目的根目录启动以下命令:

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

PS:
为确保一切设置正确,您可以通过运行以下命令在文件中搜索您的包名称

grep --color -r com.oldcompany.oldproject *
grep --color -r com.newcompany.newproject *
于 2020-12-20T22:03:56.827 回答
6

更新您必须在这五个位置将包名称更改为所需的包名称。

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"

最后一步是运行flutter clean

于 2019-10-29T04:37:31.360 回答
5

更改 Android 和 Ios 的默认路径的权利。

安卓版

打开 AndroidManifest.xml,

  • 走这条路。

应用程序/src/main/AndroidManifest.xml

  • 选择包名称,然后右键单击,

在此处输入图像描述

  • 单击重命名后,重命名弹出(对话框)显示。

在此处输入图像描述

  • 在此处输入新的包名称,

在此处输入图像描述

  • 更改名称文本后,单击重构按钮。

__________________________________________________________________________

对于iOS

  • 从抽屉中选择 ios 文件夹,然后右键单击这些文件夹,

在此处输入图像描述

  • 选择,然后双击抽屉中的Runner,然后选择General

在此处输入图像描述

  • 然后,更改您的捆绑标识符(包名称)。
  • 更改捆绑标识符(包名称)后,您的包名称已更改为 Ios。
于 2020-12-08T05:55:54.870 回答
4

要在颤振中更改 包名称,您必须在所有平台上都这样做。

为了方便起见,我建议你使用rename包。

只需在您的颤振项目根目录中运行此命令。

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

这里,com.onat.networkApp 是你的包名

要针对特定​​平台,请使用“-t”选项。例如:

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

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

于 2021-02-06T13:14:12.903 回答
3

single command使用以下包更改应用程序包名称。它使该过程非常简单和快速。

颤振 pub 运行 change_app_package_name:main com.new.package.name

https://pub.dev/packages/change_app_package_name

于 2020-11-22T17:31:15.217 回答
3

change_app_package_name使用包轻松更改应用包名称

只需在 dev 依赖项中添加上述包

dev_dependencies:
  flutter_test:
    sdk: flutter
  change_app_package_name: ^0.1.2

并运行以下命令,将“com.new.package.name”替换为您的新包名称

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

Pub Dev 上的包链接

包裹截图

于 2021-01-12T04:57:58.777 回答
2

简单的方法,在编辑器中搜索 EgVS CODE your.package.nameEgcom.example.application通过所有文件。,

  • 3 个 AndroidManifest 文件(配置文件、调试文件、主文件)
  • 1 build.gradle
  • 1个java或kt文件

这些会弹出

替换所有这些,瞧。如果您已经构建了项目,目录中会弹出大量文件build,您可以忽略这些文件,无需更改这些文件

于 2021-03-28T10:37:22.540 回答
2

在尝试了以上所有方法之后。我用 Android Studio重命名包颤振的简单工作:

步骤1:

苹果电脑:Command + Shift + R

Linux/Windows:Ctrl + Shift + R

更改为新包后,按下Replace All并等待Android Studio运行完成。

Android Studio中的颤振重命名包

第2步:

接下来,转到AndroidManifest.xml

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

并复制package name并执行相同的步骤 1 以packageAndroidManifest和中重命名build.gradle

最后,更改 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

至:

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

于 2020-11-05T03:38:01.643 回答
2
  1. 首先,在您的终端中运行它

    dart pub global activate rename

  2. 在你的 Flutter 项目根目录中运行它

    dart pub global run rename --bundleId com.company.appname --target android

这就是一切,现在你改变了你的包名:)

在此处输入图像描述

于 2022-02-10T07:38:21.440 回答
2

即使我的答案不会被接受为正确答案,我只是觉得上面所有这些答案都让我遇到了更多问题,这就是我解决它的方法

  1. 获取 Sublime Text(很疯狂,对吗?不,按照我的步骤操作)
  2. 单击文件并选择打开文件夹,然后选择您正在处理的项目的文件夹
  3. 现在单击从选项卡中查找,然后选择在文件中查找或执行Ctrl++ (对于 Windows 用户,对于您已经知道该练习的 Mac 用户ShiftF
  4. 现在复制并粘贴您要在“查找”部分更改的包的名称,然后在“替换”部分粘贴您要替换包名称的内容。
  5. 单击“查找”(暂时不要单击“替换”)。
  6. 现在单击 Find 列出项目中与您的搜索条件匹配的所有可用包名称,如果您对此感到满意,请从 no 开始重复。3 但这次点击替换。
  7. 重建您的项目并享受乐趣

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

于 2020-06-07T22:18:36.530 回答
2

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

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

  1. 在 build.gradle (app) 文件中
  2. 在 Manifest 文件中(main、debug 和 profile)
  3. 代码文件中的包导入(Android Studio。将处理更改)

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

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

于 2021-04-18T16:46:04.647 回答
1

如果您不喜欢以这种方式更改文件,那么另一种方法是使用此包。

https://pub.dev/packages/重命名

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

使用它,您只需在终端中运行这 2 个命令,您的应用程序名称和标识符将被更改。pub 全局运行

于 2020-12-16T11:22:32.807 回答
1

在Android中,更改应用程序ID

> 构建.gradle

文件和 iOS 更改

> 项目设置中的捆绑包名称。

于 2020-05-17T02:05:43.497 回答
1

我的应用程序部分中有两个 manifest.xml 文件,因此我需要更改两者的包名称在这里你可以看到

于 2019-03-05T07:40:57.927 回答
0

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

app->src->main->yourOldFolderName

根据新包名称的文件夹名称。之后,将所有导入的包名称更改为新的包名称。这是很多手工工作,但值得,没有任何问题。

注意:注意包名前的空格,它可能会产生构建错误

捷径:

全局搜索 - ctrl+shift+f

更换包裹

文件搜索 - ctrl+f

更改导入包名称

于 2021-09-30T06:29:36.277 回答
0

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

**注意:您也必须复制 pubspec 的所有内容。对于 firebase 和其他 API,该解决方案可能有点冗长。

于 2021-07-15T18:54:12.920 回答
0

您可以按照 Google 的官方文档:https ://developer.android.com/studio/build/application-id.html

应用 ID 应该在 Build.gradle 中更改,而包名可以在 AndroidManifest.xml 中更改。

但是,应该小心更改包名称。

同样,在重新上传应用程序时,应该小心,因为它会将先前上传的应用程序的应用程序 ID 与新上传的应用程序匹配。

于 2019-10-24T21:59:03.807 回答