Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android产品口味版本NameSuffix_Android_Android Gradle Plugin - Fatal编程技术网

Android产品口味版本NameSuffix

Android产品口味版本NameSuffix,android,android-gradle-plugin,Android,Android Gradle Plugin,我正在使用buildType和productFlavors。我的应用程序还使用分析工具,此工具使用我的应用程序的版本名 如何更改每种口味的版本名?我的测试是 productFlavors { google { versionNameSuffix ".google" } } 但它失败了。有人知道如何根据口味定制versionName吗 更新 显然,Gradle Android插件的2.2.0版本现在允许在productFlavors中设置versionNameSu

我正在使用buildType和productFlavors。我的应用程序还使用分析工具,此工具使用我的应用程序的版本名

如何更改每种口味的版本名?我的测试是

productFlavors {
    google {
        versionNameSuffix ".google"
    }
}
但它失败了。有人知道如何根据口味定制versionName吗

更新


显然,Gradle Android插件的
2.2.0
版本现在允许在
productFlavors
中设置
versionNameSuffix
,您可以通过一种风格设置整个版本名,如下所示:

productFlavors {
    flavor_a {
        versionName 'Version_A'
    }
    flavor_b {
        versionName 'Version_B'
    }
}
defaultConfig {
    versionName 'Default_version_name'
}

如果flavor没有指定版本名,它将从
defaultConfig

中获取它。这对我来说仍然是一项正在进行的工作,但似乎有效:

productFlavors {
    development {
        versionName = android.defaultConfig.versionName + (System.getenv("BUILD_NUMBER") as Integer ? "-build" + System.getenv("BUILD_NUMBER") as Integer : "-developerBuild")
    }
}
因此,我们可以在defaultConfig中设置versionName,在构建服务器上设置环境变量build_NUMBER,因此结果是:
1.2-build1234
生产构建只使用defaultConfig,因此只是
1.2
,在dev机器上构建时,不会设置环境变量,因此其
1.2-developerBuild


今晚刚刚提出了这个计划(我相信可以简化),所以在开发人员的机器上添加最新的源代码管理修订版,但我已经看到了其他解决方法。

运气好吗?获取
Gradle同步失败:未找到Gradle DSL方法:“versionNameSuffix()”
当我尝试更新时,您的更新节省了我的时间。谢谢