Flutter web 在现有的 flutter 应用程序中创建问题

Flutter web create issue in existing flutter app

我已经有了 flutter 应用程序,现在我正在按照 this 文档添加对 flutter Web 的支持。我在 flutter create .

上收到错误
Ambiguous organization in existing files: {com.app.android.fluttermodule,com.app.android.flutterModule}. The --org command line argument must be
specified to recreate project.

我已经提到了pubsec.yml

  module:
    androidPackage: com.app.android.fluttermodule
    iosBundleIdentifier: com.app.android.flutterModule

你可以使用这个命令

flutter create --org package_name .

我遇到这个问题是因为从现有的 flutter Android 和 iOS 代码库创建 flutter web 应用程序,因为不支持这种结构 flutter web ...我们必须创建一个新的 flutter网络项目

您也可以将应用程序添加到现有的 flutter 项目中。以下是我遵循的一些步骤

1: 如果您是第一次使用 flutter web,请创建一个新分支,以免将现有分支搞乱。

2: flutter channel master

3: flutter config --enable-web: 现在你可能会看到也可能不会下载新的 Dart SDK。

4: flutter create --org package_name .: 这将在您的项目中添加 Web 文件。

5: flutter devices: 你必须看到现在列出的 chrome。

6:flutter run -d chrome:如果您看到类似项目未针对 Web 配置的内容,请再次尝试第 3 步并重新打开您的编辑器。

您只需添加以下行

flutter create --org FLUTTER_APP .

我们不用新建项目,只需要传入具体的组织名称就可以了

 e.g: flutter create --org <<domain_keyword>> .

发生这种情况是因为,在创建新项目期间,我们按照 IDE 建议保留域。这是“com.example.project_name”,在申请签名期间,我们需要更改域,几乎每个人都更改它。

Ambiguous organization in existing files: {com.app.android.fluttermodule,com.app.android.flutterModule}. The --org command line argument must be specified to recreate project.

表示包名不同

com.app.android.fluttermodule
com.app.android.flutterModule

您的一个或某些名称在 ..android.fluttermodule 中包含小写字母 m 和一些大写字母 M。将所有名称重命名为相同并再次 运行 flutter create .

这对我有用。 您还需要指定输出目录。 对于相同的 flutterapp 目录,使用 ./ 希望这对你有帮助:)

flutter create --org flutterappname ./

这是我为现有项目所做的。

第 1 步:在现有项目文件夹中创建一个名为 web_project 或其他名称的新文件夹。

第 2 步:在终端中转到此文件夹

第 3 步:运行flutter create --platforms web --org com.example.flutter .

此步骤将创建一个新的 flutter 项目,其中包含 web 文件夹

第 4 步:将 web 文件夹剪切并粘贴到您现有的项目文件夹中,然后删除新项目,在我的例子中是 web_project

第 5 步:运行 项目,您将在设备菜单中看到 Chrome 作为一个设备

仅供参考:这是在 Flutter 2.2.0 上完成的

希望这能帮助您为您的 flutter 项目添加 Web 支持