如何在Gradle中向版本名称添加产品风味

时间:2015-04-16 15:24:18

标签: android gradle android-gradle build.gradle

我有一个Android Gradle项目,有多种风格,如此。

android {
    ...
    productFlavors {
        apple {
            applicationId "com.myapp.apple"
        }

        orange {
            applicationId "com.myapp.orange"
        }

        banana {
            applicationId "com.myapp.banana"
        }
    }
    ...
}

在我的build.gradle我还有以下代码,如果它是本地版本或versionName设置为 0.8-dev > 0.8-123 如果是Jenkin的建造。

android {
    ...
    defaultConfig {
        ...
        // Get the build number from Jenkins, otherwise use 'dev'
        ext.buildNumber = System.getenv("BUILD_NUMBER") ?: "dev"
        versionName "0.8-$buildNumber"
        ...
    }
}

由于我现在对同一个项目有不同的风格,我想在versionName前加上风味,所以它看起来像这样 apple-0.8-dev 或者 orange-0.8-dev ,具体取决于构建的风味。

我该怎么做?

我已尝试使用BuildConfig.FLAVOR但我无法在build.gradle中访问该内容。

1 个答案:

答案 0 :(得分:10)

重新定义你的口味中的versionName

def version="0.8"

android {
    defaultConfig {
      versionName version
    }
    ...
    productFlavors {
        apple {
            applicationId "com.myapp.apple"
            versionName "apple-$version"
        }

        orange {
            applicationId "com.myapp.orange"
            versionName "orange-$version"
        }

        banana {
            applicationId "com.myapp.banana"
            versionName "banana-$version"
        }
    }
    ...
}