![](/img/trans.png)
[英]Flutter build Appbundle Error:* What went wrong: A problem occurred evaluating project ':app'
[英]Flutter build appbundle generate wrong environment variable for staging and production app
我是 Flutter 部署的新手,正在努力解决一些奇怪的问题。 事情一直很顺利,直到有一天,当我发出命令fvm flutter build appbundle
时,它生成了两个 .aab 版本,有利于 - 暂存和生产。 我尝试将 staging.aab 文件上传到我在 Play 控制台中的暂存项目。 当我从 Play Store 下载暂存应用程序时,该应用程序指的是生产环境,因此调用了错误的 API。事实证明,无论我如何使用fvm flutter clean
清理项目并手动删除构建文件夹,它总是构建暂存应用程序和具有生产变量的生产应用程序。 它在 Android Studio 中使用暂存配置的模拟器中运行良好。 我不确定要提供什么代码片段,我尝试搜索类似的问题但找不到。 如果这是一个糟糕的问题,我深表歉意,我已经尝试构建和上传了几个小时,但它的行为仍然相同。 iOS 虽然工作正常。
代码检测环境与此
factory Constants.of() {
if (_instance != null) {
return _instance!;
}
final flavor = EnumToString.fromString(
Flavor.values,
const String.fromEnvironment('FLAVOR'),
);
switch (flavor) {
case Flavor.staging:
_instance = Constants._stg();
break;
case Flavor.production:
default:
_instance = Constants._prd();
}
return _instance!;
}
在应用程序/build.gradle
flavorDimensions "environment"
productFlavors {
staging {
dimension "environment"
applicationIdSuffix ".staging"
versionNameSuffix "-Stg"
signingConfig signingConfigs.staging
}
production {
dimension "environment"
signingConfig signingConfigs.production
}
}
不确定是否有帮助
请尝试使用此命令flutter build appbundle --flavor production
构建您的 App Bundle。 我认为这个命令解决了你的问题! 或者你可以按照这个博客来设置你的环境https://medium.com/@salvatoregiordanoo/flavoring-flutter-392aaa875f36
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.