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

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


当前回答

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

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

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

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

其他回答

在尝试了以上所有方法之后。简单的工作为我重命名包颤振与 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 \ \你的名字

使用此插件(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

安卓

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

更新:

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

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

> build.gradle

文件和iOS更改

项目设置中的> bundle名称。

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

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