1

我制作了 4 种不同风格的同一个应用程序,并将它们全部作为免费应用程序发布在 Play Store 上。

现在我正在为它们中的每一个制作付费版本,为了实现这一目标,我创建了 2 种新风格:免费和付费,这些风格与 4 个应用程序之一具有不同的维度。4 个应用程序具有“版本”维度,免费/付费口味具有“模式”维度。

我试图弄清楚如何为每个版本/模式对设置不同的版本代码和名称,例如: flavorAFree -> versionCode 1 / flavorAPaid -> versionCode 2

这是我的代码:

flavorDimensions "version", "mode"

productFlavors {
    flavourA {
        dimension "version"
        ...
    }

    flavourB {
        dimension "version"
        ...
    }

    flavourC {
        dimension "version"
        ...
    }

    flavourD {
        dimension "version"
        ...
    }

    free {
        dimension "mode"
    }

    paid {
        dimension "mode"
    }
}

我试图实现的一个例子(不完全是这些值):

flavourAFree {
    versionCode 1
    versionName "1.0"
}

flavourAPaid {
    versionCode 4
    versionName "2020.2.0"
}

当我尝试同步我的 Gradle 脚本时,我收到以下错误:

配置项目 ':app' 时出现问题。风味“flavourA”没有风味维度。

有没有办法做我想做的事?

4

1 回答 1

0

您需要做的在这篇android 文章中进行了描述

android {
    defaultConfig {
        versionCode 13
        versionName "2020.2"

    }

flavorDimensions "version", "mode"

productFlavors {
    flavourA {
        dimension "version"
        ...
    }

    flavourB {
        dimension "version"
        ...
    }

    flavourC {
        dimension "version"
        ...
    }

    flavourD {
        dimension "version"
        ...
    }

    free {
        dimension "mode"
        versionCode android.defaultConfig.versionCode
        versionName android.defaultConfig.versionName + ".3"
    }

    paid {
        dimension "mode"
        versionCode android.defaultConfig.versionCode - 12
        versionName android.defaultConfig.versionName + ".0"
    }
}

我不知道它是否是您正在寻找的东西,但它会创建:

  • flavorAFreeversionCode = 13versionName = "2020.2.3"
  • 风味BFree with versionCode = 13andversionName = "2020.2.3"
  • flavorA支付了versionCode = 1versionName = "2020.2.0"
  • 风味B支付versionCode = 1versionName = "2020.2.0"

有关更多信息,我推荐这篇文章

于 2020-05-02T22:37:22.457 回答