【问题标题】:Can't build release apk with multi flavors in Flutter?无法在 Flutter 中构建具有多种风格的发布 apk?
【发布时间】:2020-10-25 03:32:36
【问题描述】:

我使用 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版)上,我添加了configbuild flavor,问题解决了:

如何解决发布模式的问题?

【问题讨论】:

    标签: android flutter android-flavors


    【解决方案1】:

    此错误似乎是由于 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

    【讨论】:

      猜你喜欢
      • 2022-08-12
      • 1970-01-01
      • 1970-01-01
      • 2015-05-15
      • 2020-10-07
      • 2018-03-31
      • 2019-11-08
      • 2023-04-01
      • 2020-01-27
      相关资源
      最近更新 更多