关于在 Flutter 中创建风味

Hem*_*ree 2 android gradle flutter

我正在制作一个项目,其中添加了两种风格的 dev 和 prod,并且我需要制作两个 firebase 项目,因为我想在数据库中为不同的环境存储不同的值。我已经制作了两个单独的 firebase 项目开发和生产,我有两个 google-services.json 和两个 google-info.plist 文件。为了管理它们,我将它们添加到 app/src 中名为发布和开发的两个单独的文件夹中。每当我尝试运行口味时,它都会显示错误。错误是这样的:

失败:构建失败并出现异常。

  • 其中:构建文件'flutter_flavors\android\app\build.gradle'行:58

  • 出了什么问题:评估项目“:app”时出现问题。

    在 org.gradle.api.Project 类型的项目“:app”上找不到参数 [app] 的方法flavorDimensions()。

  • 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获得完整的见解。

  • 在https://help.gradle.org获取更多帮助

1 秒内构建失败运行 Gradle 任务“assembleDevDebug”...异常:Gradle 任务 assembleDevDebug 失败,退出代码为 1

小智 6

我遇到了同样的问题,并通过将风味片段移动到 android 部分的子部分来解决它,如下所示。以前我在 app{} 之后遇到了它,并且出现了与上面相同的错误。

android {
    compileSdkVersion 30

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    defaultConfig {
        ...
    }
    signingConfigs {
       ...
    }
    buildTypes {
        ...
    }
    flavorDimensions "app"

    productFlavors{
        local {
            dimension "app"
            resValue "string", "app_name", "Removed"
            versionNameSuffix "-dev"
            applicationId "xxxx"
        }
        prod {
            dimension "app"
            resValue "string", "app_name", "Removed"
            applicationId "xxxx"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)