flutter flavor如何配置 Flutter flavor的使用方法

如何在Flutter项目中配置和使用flavor?我想为不同环境(如开发、测试、生产)设置不同的配置,但不太清楚具体该怎么做。能否详细说明一下flavor的配置步骤和实际应用场景?

2 回复

Flutter flavor通过配置不同构建变体实现多环境。在android/app/build.gradle中定义productFlavors,在Xcode中配置Schemes。使用--flavor参数运行,如flutter run --flavor dev

更多关于flutter flavor如何配置 Flutter flavor的使用方法的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


Flutter flavors 用于为同一应用创建不同版本(如开发版、生产版),通常用于配置不同的环境变量、API 端点或应用标识。以下是配置和使用 flavors 的简明步骤:

1. Android 配置

android/app/build.gradle 文件中配置 flavor:

android {
    flavorDimensions "default"
    productFlavors {
        dev {
            dimension "default"
            applicationIdSuffix ".dev"
            resValue "string", "app_name", "MyApp Dev"
        }
        prod {
            dimension "default"
            resValue "string", "app_name", "MyApp"
        }
    }
}

2. iOS 配置

在 Xcode 中:

  • 打开 ios/Runner.xcworkspace
  • 复制 DebugRelease 配置,创建 devprod 配置。
  • Build Settings 中为每个配置设置不同的 PRODUCT_BUNDLE_IDENTIFIER(如 com.example.dev)。

3. Flutter 配置

lib/main.dart 中定义入口点,通过 dart-define 传递变量:

void main() {
  const flavor = String.fromEnvironment('FLAVOR', defaultValue: 'dev');
  runApp(MyApp(flavor: flavor));
}

4. 运行命令

使用 --flavor--dart-define 运行特定 flavor:

# 开发版
flutter run --flavor dev --dart-define=FLAVOR=dev

# 生产版
flutter run --flavor prod --dart-define=FLAVOR=prod

5. 构建应用

构建时指定 flavor:

flutter build apk --flavor dev
flutter build ios --flavor prod

注意事项

  • Android:确保 src/devsrc/prod 目录存在并包含对应的 AndroidManifest.xml(如需)。
  • iOS:配置 scheme 并关联到正确的配置。

通过 flavors,可以轻松管理不同环境的配置,无需手动修改代码。

回到顶部