在 Flutter 中,您应该选择构建风格而不是构建变体(构建风格和构建类型的组合)。Flutter run
有一个--flavor
选项,但没有buildType
。
指定构建风格:
在build.gradle
下面defaultConfig {}
:
android {
...
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
debug {
applicationIdSuffix ".debug" // Optional, you don't need to create a separate applicationId for debug.
signingConfig signingConfigs.debug
}
}
flavorDimensions "default"
productFlavors {
dev {
applicationIdSuffix ".dev"
}
qa {
applicationIdSuffix ".qa"
}
prod {
}
}
}
运行具有特定构建风格的 Flutter 应用程序:
- 在命令行上:使用
flutter run --flavor flavorName
, 或
- 在 Android Studio 中:运行/调试配置下拉 → 编辑配置... →
Additional run args:
→ 添加--flavor dev
或--flavor qa
或--flavor prod
确认 applicationId 已更改。我为此使用package_info_plus :
- 添加
package_info_plus: ^1.0.4
到pubspec.yaml
- 在某处添加代码:
PackageInfo.fromPlatform().then((PackageInfo packageInfo) {
print("Package name: ${packageInfo.packageName}");
});
- packageName将同时具有构建风格和构建类型。在我的情况下,因为
applicationIdSuffix
在两者buildTypes
中productFlavors
,com.example.dev.debug
。applicationIdSuffix ".debug"
如果您不需要/不想要它,您可以删除它。
现在我们可以拥有单独的构建风味目录和它们自己的google-services.json
.