flutter flavor如何配置 Flutter flavor的使用方法
如何在Flutter项目中配置和使用flavor?我想为不同环境(如开发、测试、生产)设置不同的配置,但不太清楚具体该怎么做。能否详细说明一下flavor的配置步骤和实际应用场景?
2 回复
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。 - 复制
Debug和Release配置,创建dev和prod配置。 - 在
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/dev和src/prod目录存在并包含对应的AndroidManifest.xml(如需)。 - iOS:配置 scheme 并关联到正确的配置。
通过 flavors,可以轻松管理不同环境的配置,无需手动修改代码。


