我正在使用Flutter(1.17.4版)来开发Android,并使用configmulti 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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句