[英]Android: Auto Increment version code only on Release BuildType in Gradle
[英]Android build gradle file version code auto increment
android build.gradle 文件中的版本号怎么每次获取release package 自动增加
你可以看看这篇文章:
这在本地构建时相当无用,因为尽管知道构建号,但您永远无法重现构建。 虽然在 CI 环境中构建时始终会提供内部版本号,例如 Jenkins 或 GitHub 操作、Cloud Build 等。例如,只需使用System.getenv()
获取它(其中变量名称可能会有所不同) :
/** $BUILD_NUMBER only exists when building with Jenkins */
if (System.getenv("BUILD_NUMBER") != null ) {
project.ext.set('buildNumber', new Integer(System.getenv("BUILD_NUMBER")))
} else {
project.ext.set('buildNumber', 0)
}
没有其他方法可以保留每次构建的日志,因此保留数字是有目的的。
您可以在 version.properties 文件中添加版本详细信息。 但是,我建议您可以更新版本代码和版本号手册,因为每次构建它都会增加一。 另一件事是,如果您想发布主要更新,那么您还需要手动更新。 总之,手动更新版本为您的更新提供了更多控制。
compileSdkVersion 25
buildToolsVersion "25.0.2"
def versionPropsFile = file('version.properties')
if (versionPropsFile.canRead()) {
def Properties versionProps = new Properties()
versionProps.load(new FileInputStream(versionPropsFile))
def name = versionProps['VERSION_NAME']
def code = versionProps['VERSION_CODE'].toInteger() + 1
versionProps['VERSION_CODE']=code.toString()
versionProps.store(versionPropsFile.newWriter(), null)
defaultConfig {
applicationId "com.bsupits.example.autoincrement"
versionName name
versionCode code
minSdkVersion 15
targetSdkVersion 25
}
}
else {
throw new GradleException("Could not read version.properties!")
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.