【问题标题】:How to add product flavor to version name in Gradle如何在 Gradle 中将产品风味添加到版本名称
【发布时间】:2015-04-16 15:24:17
【问题描述】:

我有一个具有多种风格的 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如果它是 Jenkins 的构建。

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-devorange -0.8-dev,取决于构建的风味。

我该怎么做?

我尝试过使用BuildConfig.FLAVOR,但我无法在build.gradle 中访问它。

【问题讨论】:

    标签: android gradle android-gradle-plugin build.gradle


    【解决方案1】:

    根据您的喜好重新定义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"
            }
        }
        ...
    }
    

    【讨论】:

    • 谢谢!这就像一个魅力。我还需要将ext.buildNumber = System.getenv("BUILD_NUMBER") ?: "dev" 移动到defaultConfig{...} 上方,以便我可以在`productFlavors{...} 中访问它的值
    • CommonsWare 有没有办法提取“-0.8”,然后将其作为值传递给版本名称?每次发布新版本时,我都会发布两种类型的构建,因此我希望所有版本名称的版本号都为“单例”
    • @murt:查看编辑后的答案。 Groovy 双引号字符串支持$“宏”的字符串插值。我将版本定义为一个简单的常量值,但您可以在gradle.properties、自定义.properties 文件中定义它,从构建服务器获取它等等。
    猜你喜欢
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    • 2013-12-11
    • 2018-04-15
    • 2013-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多