首页 > 解决方案 > Flutter - 根据 Android 产品风格设置目标文件

问题描述

目前我正在使用Flutter构建我的应用程序。

背景

我遵循了一些关于构建不同环境入口文件的指南:
https
://iirokrankka.com/2018/03/02/separating-build-environments/ 它创建main_dev.dartmain_prod.dart.

我还学会了为 iOS 和 Android 构建风味: https
://medium.com/@salvatoregiordanoo/flavoring-flutter-392aaa875f36 现在我可以--flavor <FLAVOR>在命令中使用它来构建不同的风味应用程序。

现在我在尝试结合两种技能时遇到了一个问题。


目标结果

以下是我想要实现的目标:

development风味 ->main_dev.dart入口文件
production风味 ->main_prod.dart入口文件


遇到问题

在 iOS 端,我可以定位 .xcconfig 文件中的条目文件,如下所示:

// ios/Flutter/development.xcconfig

#include "Generated.xcconfig"

FLUTTER_TARGET=lib/main_dev.dart

我知道我可以-t lib/main_dev.dartflutter run命令之后添加。
但是我想问一下是否有任何解决方案可以
在 Android 端的风味配置中设置颤振目标文件?

感谢任何帮助。

标签: androidflutterandroid-productflavors

解决方案


我想问一下有没有办法在flavor config里面设置Android端的flutter目标文件?

我不知道 Android 风格的 FLUTTER_TARGET 的等价物。我也想学那个。

但是,flutter run -t这里不是唯一的选择。当您使用 Android Studio 打开 Flutter 项目(根项目)时,您将拥有一个默认的运行/调试配置,如下所示:

在此处输入图像描述

当您单击编辑配置时,将出现以下屏幕:

在此处输入图像描述

在那里你可以设置Build flavorDart entrypoint。显然,您可以为每种风味创建多个配置。

参考:https ://cogitas.net/creating-flavors-of-a-flutter-app/

所以,这就是 Android Studio 中 Flutter 的解决方案。对于 VSCode,我有一个解决方法。我正在使用-t参数。但我让它由 VSCode 自动化。在.vscode/launch.json我有如下配置:

"configurations": [
        {
            "name": "GoodOne",
            "request": "launch",
            "type": "dart",
            "args": ["--flavor",
                "good",
                "-t",
                "./lib/main-good.dart"
            ]
        },
        {
            "name": "BadOne",
            "request": "launch",
            "type": "dart",
            "args": ["--flavor",
                "bad",
                "-t",
                "./lib/main-bad.dart"
            ]
        }
]

有了这个,你可以通过按F5并在左上角选择你的配置来运行你的风格。

同样,这不是对 OP 问题的确切答案,而是一些解决方法。


推荐阅读