Flutter Flavours(口味)
一个使用 Flutter flavorizr 创建多个口味(环境)的演示。在此示例中,我创建了四个环境:质量保证(Qa)、开发(Dev)、预发布(Hom)和生产(Prod)。
配置步骤
- 在 `dev_enviroment` 中添加 `flutter_flavorizr: ^2.0.0` 包。
- 在 `pubspec.yaml` 中添加环境设置。我的情况是:
flavorizr:
app:
android:
flavorDimensions: "flavor-type"
ios: null
flavors:
dev:
app:
name: "Flutter Flavor Dev"
android:
#bundle identifier
applicationId: "br.com.flutter.flavor.dev"
ios:
bundleId: "br.com.flutter.flavor.dev"
hom:
app:
name: "Flutter Flavor Hom"
android:
applicationId: "br.com.flutter.flavor.hom"
ios:
bundleId: "br.com.flutter.flavor.hom"
qa:
app:
name: "Flutter Flavor qa"
android:
applicationId: "br.com.flutter.flavor.qa"
ios:
bundleId: "br.com.flutter.flavor.hom"
prod:
app:
name: "Flutter Flavor"
android:
applicationId: "br.com.flutter.flavor"
ios:
bundleId: "br.com.flutter.flavor"
-
使用
flutter pub run flutter_flavorizr -p android:androidManifest,android:buildGradle,flutter:flavors,flutter:app,flutter:pages,flutter:targets自动生成代码。
在这种情况下,我传递了参数,因为我不需要为 iOS 进行设置。
如果您有 iOS,只需运行flutter pub run flutter_flavorizr。
此步骤会将所有配置添加到 `android/app/build.gradle` 和 `ios` 目录以运行口味。 -
如果需要,您可以在不同的口味中更改图标。为此,只需在 `android/app/src/` 中添加 `res` 目录,其中包含您应用程序的资源以及不同的徽标。
-
如果需要,您可以添加不同的 Firebase 环境。为此,只需将 `google-services.json`(Android)添加到 `android/app/src/`,然后在运行另一个环境时使用。
附注:您的 CI 可以在所有开发人员拥有资源(例如生产 Firebase 密钥)的情况下,删除不必要的环境。 -
在 `flavours.dart` 中,您可以配置创建用于连接 API 的基本 URL,只需查看环境即可。
运行环境的步骤
运行上述命令。
flutter run --flavor <您的环境名称> -t lib/main_<您的环境类名>.dart
在我的情况下,要运行开发环境,我执行:
flutter run --flavor dev -t lib/main_dev.dart
现在您的环境已分开。
如果您在 VS Code 中运行,您可以轻松地将此设置添加到您的项目中,以便在调试时运行不同的环境。
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Development",
"request": "launch",
"type": "dart",
"args": [
"-t",
"lib/main_dev.dart",
"--flavor",
"dev"
]
},
{
"name": "Quality",
"request": "launch",
"type": "dart",
"args": [
"-t",
"lib/main_qa.dart",
"--flavor",
"qa"
]
},
{
"name": "Homologation",
"request": "launch",
"type": "dart",
"args": [
"-t",
"lib/main_hom.dart",
"--flavor",
"hom"
]
},
{
"name": "Production",
"request": "launch",
"type": "dart",
"args": [
"-t",
"lib/main_prod.dart",
"--flavor",
"prod"
],
},
]
}
构建口味的步骤
使用命令运行
flutter build <您的目标> --flavor <您的环境名称> -t lib/main_<您的环境类名>.dart
在我的情况下,要构建生产环境的 appbundle,我执行:
flutter build appbundle --flavor prod -t lib/main_prod.dart


