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

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


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

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

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

我有两个manifest.xml文件在我的应用程序部分,所以我需要改变包的名称

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

好看!!

安卓

在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

您可以通过谷歌:https://developer.android.com/studio/build/application-id.html查看此官方文档

应用程序ID应该在构建中更改。gradle,包名可以在AndroidManifest.xml中修改。

但是,在更改包名时应该谨慎。

另外,在重新上传应用程序时,应该小心,因为它与之前上传的应用程序的ID相匹配。

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

1.) src/profile/AndroidManifest.xml
2.) src/debug/AndroidManifest.xml
3.) src/main/AdroidManifest.xml
4.) app/build.gradle
     build.gradle .
       defaultConfig {
           applicationId
       }
5.) MainActivity.java or MainActivity.kt on "package"

最后一步是运行颤振干净

这是我如何重命名包为ios和android

Go to build.gradle in app module and rename applicationId "com.company.name" Go to Manifest.xml in app/src/main and rename package="com.company.name" and android:label="App Name" Go to Manifest.xml in app/src/debug and rename package="com.company.name" Go to Manifest.xml in app/src/profile and rename package="com.company.name" Go to app/src/main/kotlin/com/something/something/MainActivity.kt and rename package="com.company.name" Go to app/src/main/kotlin/ and rename each directory so that the structure looks like app/src/main/kotlin/com/company/name/ Go to pubspec.yaml in your project and change name: something to name: name, example :- if package name is com.abc.xyz the name: xyz Go to each dart file in lib folder and rename the imports to the modified name. Open XCode and open the runner file and click on Runner in project explorer. Go to General -> double click on Bundle Identifier -> rename it to com.company.name Go to Info.plist click on Bundle name -> rename it to your App Name. close everything -> go to your flutter project and run this command in terminal flutter clean

关于Visual Studio代码

在“文件”中编辑> Replace

Android工作室

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

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

根据官方的flutter文档,您只需要在app/build中更改ApplicationId。gradle目录。然后你只需要构建你的apk, manifest文件的包名将根据你在build.gradle中更改的ApplicationId进行更改。由于在构建apk和谷歌播放时的颤扑,都考虑从build.gradle中的ApplicationId。这个解决方案对我很有效。

来源:官方文件

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

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

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

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

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

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

> build.gradle

文件和iOS更改

项目设置中的> bundle名称。

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

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。

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

步骤1:

Mac: Command + Shift + R

Linux/Windows: Ctrl + Shift + R

更改为新包后,按“全部替换”并等待Android Studio运行完成。

步骤2:

接下来,转到AndroidManifest.xml:

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

复制包名,并执行相同的步骤1重命名AndroidManifest和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 {

修改目录名称。 详情见以下链接this:

来自:

android app \ src \ \ \ com java操作符玩

To:

android app玩src \ \ java new_package \ \你的名字

使用以下包,用单一命令更改应用程序包名称。它使这个过程非常简单和快速。

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

https://pub.dev/packages/change_app_package_name

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

为安卓

AndroidManifest.xml开放,

走这条路。

/ src /游戏/应用AndroidManifest . xml

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

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

在这里输入新的包名,

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

__________________________________________________________________________

为Ios

从抽屉中选择ios文件夹,右键点击这些文件夹,

选择,并双击运行在抽屉,然后选择一般

然后,改变你的包标识符(包名)。 更改包标识符(包名)后,您的包名为 为Ios更改。

如果你不喜欢以这种方式改变文件,那么另一种方式是使用这个包。

https://pub.dev/packages/rename

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

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

最快和最干净的方法来改变你的包名!

警告:

如果你已经编辑了android/, ios/和windows/文件夹的内容,你需要确保在继续之前在某个地方备份了这些更改。

1. 删除颤振项目根目录下的文件夹:

android / ios / windows / 构建/

假设你想把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 *

使用change_app_package_name Package轻松更改应用程序包名称

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

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

包链接在酒吧开发

若要在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

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

简单的方法,在编辑器中搜索例如vs CODE your.package.name例如com.example.application通过所有文件。

3个AndroidManifest文件(profile, debug, main) 1 build.gradle 1 java 或者kt文件

这些会弹出

替换所有这些,瞧。如果你已经构建了你的项目,build目录中会弹出许多文件,你可以忽略这些文件,不需要更改它们

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

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

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

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

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

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

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。

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

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

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

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

 dev_dependencies: 
  change_app_package_name: lates version

然后执行这个命令

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

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

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

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

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

捷径:

全局搜索- ctrl+shift+f

更换包装

文件搜索- ctrl+f

修改导入包名称

首先,在终端中运行这个程序 Dart pub全局激活重命名 在Flutter项目根目录中运行此命令 bundleId .company.appname——目标android

这就是所有的东西,现在你改变了你的包名:)

使用此插件(2022年)

https://pub.dev/packages/change_app_package_name

使用

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

Old Package Name: com.example.oldname
Updating build.gradle File
Updating Main Manifest file
Updating Debug Manifest file
Updating Profile Manifest file
Project is using kotlin
Updating MainActivity.kt
Creating New Directory Structure
Deleting old directories

将更改应用程序包名称添加到您的pubspec。dev_dependencies: section中的Yaml。

dev_dependencies:

change_app_package_name: ^ 1.1.0

更新附件 颤振酒吧得到

使用该命令修改包名。

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

其中com.new.package.name是你想要的应用程序的新包名,用任何你想要的名称替换它。

在Vs Code,我所做的是搜索和替换它,它工作!就像一个符咒。

com.example.appName

重新启动vs代码。

一步一步

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

名称:< your_new_package_name >

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

如果你正在使用VS Code,你可以替换你所有的com。示例到您的包名称

要这样做,CTRL+SHIFT+H 设置单词替换com.example 将单词replace替换为[your package] 然后替换所有