作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要有 3 个不同的 APK(dev、UAT、prod),每个都针对不同的 Firebase 数据库。但是在每个 Firebase 项目上,我都需要提供一个永久的应用程序 ID。这意味着我需要有 3 个构建变体,每个变体都部署具有不同应用程序 ID 的 APK。但是在 Android Studio 上,我似乎找不到为此目的为 Flutter 构建变体的方法(构建变体部分为空)。
我要找的不是 just a different entry point and different constants ,但完全不同的应用程序 ID。据我所知,在 Flutter 中更改应用名称和应用 ID 需要 6 步 like this .我不认为每次我想更改构建范围时都执行这 6 个步骤是处理此问题的有效且正确的方法。
最佳答案
在 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
, 或 Additional run args:
→ 添加 --flavor dev
或 --flavor qa
或 --flavor prod
package_info_plus: ^1.0.4
至pubspec.yaml
PackageInfo.fromPlatform().then((PackageInfo packageInfo) {
print("Package name: ${packageInfo.packageName}");
});
applicationIdSuffix
在这两个 buildTypes
和 productFlavors
, com.example.dev.debug
.您可以删除 applicationIdSuffix ".debug"
如果你不需要/想要它。 google-services.json
.
关于android - 如何在 Flutter Android 中创建构建变体,以便每个构建变体具有不同的 app id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60666045/
我是一名优秀的程序员,十分优秀!