android - 无法在 Flutter 中构建具有多种风格的发布 apk?
问题描述
我正在使用 Flutter(1.17.4 版)开发 Android 并配置multi Flavors
运行多环境。
我的源代码有 3 个环境:(dev
开发)、uat
(QC)、prod
(生产)。
Source
: https://github.com/huubao2309/demo_multi_flavors
我的multiFlavors.gradle
文件(/android/app/multiFlavors.gradle
):
android {
flavorDimensions "app"
productFlavors {
prod {
dimension "app"
applicationIdSuffix ".prod"
versionNameSuffix "-prod"
}
dev {
dimension "app"
applicationIdSuffix ".dev"
versionNameSuffix "-dev"
}
uat {
dimension "app"
applicationIdSuffix ".uat"
versionNameSuffix "-uat"
}
}
}
每次,我都会构建应用程序以使用终端发布:
flutter build apk --flavor uat -t lib/main-uat.dart
文件 .apk 已创建,但终端抛出异常:
Gradle build failed to produce an .apk file. It's likely that this file was generated under D:\demo_multi_flavors\build, but the tool couldn't find it.
我在模式下运行时也遇到了这个问题debug
,但是在Android Studio(4.0版)上,我添加了 config build flavor
,问题得到解决:
如何解决发布模式的问题?
解决方案
这个错误似乎是由于 Flutter 正在寻找一个确切的.apk
名称,但无法找到它。就我而言,正在生成的 .apk 的名称是app-release-unsigned.apk
但必须是app-release.apk
. 这是我的解决方案:
buildTypes {
debug {
signingConfig signingConfigs.debug
}
release {
applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "app-${variant.getName()}.apk"
}
}
}
}
参考:https ://github.com/flutter/flutter/issues/44796#issuecomment-602278977
推荐阅读
- python - Noob here - 当我在屏幕上移动鼠标时,我的精灵更新的 pygame 动画
- python-3.x - 从多个列表中识别相似的数字
- python-3.x - 如何使用其键从 Google 数据库中删除 NDB 对象,甚至不编译
- terraform - Terraform 错误:添加 LB 侦听器证书时出错:ValidationError:无法为 %s 侦听器指定证书
- python - 清除/删除 tkinter 文本小部件中的重定向文本
- c - CS50 pset4 recover:只恢复了两个文件
- python - 在 Chaquopy 中更改 UI 元素
- html - 如何让用户可以随意更改 html 的背景颜色?
- javascript - React 中的图片动画
- python-3.x - 如何减少任务流中的空白?