繁体   English   中英

Android build.gradle 文件版本码自增

[英]Android build gradle file version code auto increment

android build.gradle 文件中的版本号怎么每次获取release package 自动增加

你可以看看这篇文章:

使用 Gradle 的自增版本代码

这在本地构建时相当无用,因为尽管知道构建号,但您永远无法重现构建。 虽然在 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM