Flavor là các biến thể build của cùng một codebase cho từng môi trường — thường là dev, staging, production. Mỗi flavor có thể có tên app, icon, API endpoint, feature flag và application ID riêng (bên Android gọi là product flavor, kết hợp với build type debug/release thành build variant).
Lợi ích thực tế: tester cài được bản staging song song với bản production trên cùng máy (khác applicationIdSuffix), và không ai lỡ tay trỏ bản release vào server test.
bash
flutter run --flavor staging
flutter build appbundle --flavor productiondart
import 'package:flutter/services.dart';
void main() {
// appFlavor is null when built without --flavor
final apiUrl = appFlavor == 'production'
? 'https://api.example.com'
: 'https://staging-api.example.com';
runApp(MyApp(apiUrl: apiUrl));
}Flavor phải khai báo ở cả hai phía native: productFlavors trong Gradle (Android) và scheme/configuration trong Xcode (iOS).
Lưu ý: giá trị cấu hình theo flavor vẫn nằm trong file build — không đặt secret thật vào đó.