如何在flutter中更改包名?

Abc*_*Xyz 65 android dart flutter

有没有办法更改Flutter项目的包名?

我想在flutter项目中更改包名称和应用程序名称.

die*_*per 130

对于Android应用程序名称

更改AndroidManifest.xml文件中的标签名称:

 <application
    android:name="io.flutter.app.FlutterApplication"
    android:label="TheNameOfYourApp"   
Run Code Online (Sandbox Code Playgroud)

对于包名称

更改AndroidManifest.xml文件中的包名称:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="your.package.name">
Run Code Online (Sandbox Code Playgroud)

也在您的build.gradleapp文件夹内的文件中

defaultConfig {
    applicationId "your.package.name"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Run Code Online (Sandbox Code Playgroud)

最后,更改MainActivity.java课程中的包

    package your.package.name;

    import android.os.Bundle;
    import io.flutter.app.FlutterActivity;
    import io.flutter.plugins.GeneratedPluginRegistrant;
    public class MainActivity extends FlutterActivity {
Run Code Online (Sandbox Code Playgroud)

更改目录名称:

从:

  android\app\src\main\java\com\example\name
Run Code Online (Sandbox Code Playgroud)

至:

  android\app\src\main\java\your\package\name
Run Code Online (Sandbox Code Playgroud)

编辑:12月27日至18日

对于包名在建只是改变build.gradle

defaultConfig {
    applicationId "your.package.name"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Run Code Online (Sandbox Code Playgroud)

  • `$ flutter create --org com.yourdomain appname`用于未来的应用程序 (47认同)
  • 我的包标识符是`$(PRODUCT_BUNDLE_IDENTIFIER)`。那个变量隐藏在哪里? (22认同)
  • PRODUCT_BUNDLE_IDENTIFIER 存储在 ios/Runner.xcodeproj 目录下的 project.pbxproj 文件中的多个位置。 (6认同)
  • 搜索变量:PRODUCT_BUNDLE_IDENTIFIER (4认同)
  • 我也必须更新下面的目录名称(将“example”更改为“woods”)C:\Users\andytwoods\IdeaProjects\gear_log\android\app\src\main\java\com\woods\gearlog (2认同)
  • 值得一提的是,appID必须采用3个单词的格式,并以点分隔。 (2认同)

Vic*_*khe 70

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

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

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

flutter create --org com.yourdomain appname
Run Code Online (Sandbox Code Playgroud)

您的项目将具有包名称 -> com.yourdomain.appname


如果你只是想保留你的包名,com.appname那么做一些如下的改变

flutter create --org com appname
Run Code Online (Sandbox Code Playgroud)

中加入Java,而不是kotlin针对android-a java

flutter create -a java --org com.yourdomain appname
Run Code Online (Sandbox Code Playgroud)

编辑


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

flutter pub run change_app_package_name:main com.package.appname
Run Code Online (Sandbox Code Playgroud)

  • 'flutter create --org com.yourcompany --project-name new_app_name 。' (如果您在现有项目中,请添加句点 - 您应该首先删除 android 和 ios 文件夹以重新生成它们)。MAKE A BACKUP应该是得到答案的重要前提。 (4认同)
  • 而且速度也很快 (2认同)

小智 51

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

使用它,您只需在终端中运行这些命令,您的应用程序名称和标识符就会更改。pub global run

安装: pub global activate rename

然后,在您的 flutter 项目根目录中运行此命令。

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


sam*_*ukr 35

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

 dev_dependencies: 
  change_app_package_name: lates version
Run Code Online (Sandbox Code Playgroud)

然后运行这个命令

flutter pub run change_app_package_name:main com.new.package.name
Run Code Online (Sandbox Code Playgroud)


小智 20

这就是我为 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. 转到 General -> 双击 Bundle Identifier -> 将其重命名为 com.company.name
  11. 转到 Info.plist 单击 Bundle name -> 将其重命名为您的 App Name。
  12. 关闭所有内容 -> 转到您的 flutter 项目并在终端中运行此命令 flutter clean


小智 20

  1. 首先,在终端中运行它

    dart pub global activate rename

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

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

这将使用正确的 id 更新 gradle 构建文件defaultConfig

 defaultConfig {
        applicationId "com.company.appname"
        minSdkVersion 21
        targetSdkVersion 33
        versionCode flutterVersionCode.toInteger()
 }
Run Code Online (Sandbox Code Playgroud)

这就是一切,现在您更改了包名称:)

在此输入图像描述


MBK*_*MBK 17

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

flutter create --org com.yourdomain appname
Run Code Online (Sandbox Code Playgroud)

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

flutter pub run change_app_package_name:main com.new.package.name
Run Code Online (Sandbox Code Playgroud)

这将改变 android 中更改包名称的所有复杂内容。然后右键flutter的iOS文件夹,用Xcode打开。

Xcode > 选择Runner > 在常规选项卡中,您可以更改包标识符。

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


小智 14

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

对于APK的名称,改变android:labelAndroidManifest.xml

  • 需要更改 MainActivity.java 或 mainActivity.kt (2认同)

Sur*_*gch 8

安卓系统

在Android中,包名称在AndroidManifest中:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    ...
    package="com.example.appname">
Run Code Online (Sandbox Code Playgroud)

的iOS

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

<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
Run Code Online (Sandbox Code Playgroud)

Runner.xcodeproj / project.pbxproj中可以找到:

PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;
Run Code Online (Sandbox Code Playgroud)

改名

包名称位于多个位置,因此,要更改名称,应在整个项目中搜索旧项目名称的出现并将其全部更改。

Android Studio和VS Code:

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

感谢diegoveloper为iOS提供帮助。


小智 8

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

来源:官方文档


Jav*_*haq 7

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

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

dev_dependencies:
  flutter_test:
    sdk: flutter
  change_app_package_name: ^0.1.2
Run Code Online (Sandbox Code Playgroud)

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

flutter pub run change_app_package_name:main com.new.package.name
Run Code Online (Sandbox Code Playgroud)

Pub Dev 上的包链接

套餐截图


Kab*_*uda 7

要更改 flutter 中的包名称,您必须针对所有平台执行此操作。

为了方便起见,我建议您使用重命名包。

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

pub global run rename --bundleId com.onat.networkApp
Run Code Online (Sandbox Code Playgroud)

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

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

pub global run rename --bundleId com.example.android.app -t android
Run Code Online (Sandbox Code Playgroud)

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


小智 6

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

好看 !!


shb*_*shb 6

在 Visual Studio 代码上

编辑 > 在文件中替换

vs 文件中的代码替换

在安卓工作室

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

在路径中替换

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

替换所有截图


shi*_*kla 6

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

适用于安卓

打开AndroidManifest.xml,

  • 走这条路。

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

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

在此输入图像描述

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

在此输入图像描述

  • 在这里输入新的包名称,

在此输入图像描述

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

___________________________________________________________________________

对于艾奥斯

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

在此输入图像描述

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

在此输入图像描述

  • 然后,更改您的捆绑包标识符(包名称)。
  • 更改捆绑标识符(包名称)后,您的 Ios 包名称将更改。


Atu*_*ary 5

更新您必须在这五个位置将包名更改为您想要的包名。

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"
Run Code Online (Sandbox Code Playgroud)

最后一步是运行 flutter clean


Aun*_*Man 5

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

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

https://pub.dev/packages/change_app_package_name


Jac*_*ck' 5

更改包名称的最快捷、最干净的方法!

警告:

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

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

  • android/
  • ios/
  • build/

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

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

flutter create --org com.newcompany --project-name newproject .
Run Code Online (Sandbox Code Playgroud)

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

grep --color -r com.oldcompany.oldproject *
Run Code Online (Sandbox Code Playgroud)
grep --color -r com.newcompany.newproject *
Run Code Online (Sandbox Code Playgroud)

  • 这是最好的答案,绝对是最干净、最快速的解决方案!如果您修改了特定于平台的文件,请务必备份它们并将更改放回原处。最简单的方法是使用 GIT 存储库并完成此过程所做的更改。 (2认同)
  • 这是迄今为止最快、最直接的解决方案。请记住在删除 **android/** 和 **ios/** 中的所有文件之前对其进行备份! (2认同)