gpt4 book ai didi

android - 项目构建的增量版本

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:04:32 25 4
gpt4 key购买 nike

在 Android Studio 中,我在 build.gradle 中有关于应用程序版本的默认信息:

android {    
defaultConfig {
versionCode 24
versionName "0.1 beta"
}
}

如何在每个项目编译时自动增加 versionCode

最佳答案

引自my book :

由于 android:versionCode 是一个单调递增的整数,一种自动化的方法是在每次构建时简单地增加它。虽然这看起来很浪费,但 20 亿次构建是很多的构建,所以一个单独的开发者不太可能用完。同步这样的 versionCode整个团队的值(value)观会变得更加复杂,但对于个人而言案例(开发人员、构建服务器等),使用 Groovy 非常可行。

Gradle/HelloVersioning示例项目使用 version.properties 文件作为版本信息:

def versionPropsFile = file('version.properties')

if (versionPropsFile.canRead()) {
def Properties versionProps = new Properties()

versionProps.load(new FileInputStream(versionPropsFile))

def code = versionProps['VERSION_CODE'].toInteger() + 1

versionProps['VERSION_CODE']=code.toString()
versionProps.store(versionPropsFile.newWriter(), null)

defaultConfig {
versionCode code
versionName "1.1"
minSdkVersion 14
targetSdkVersion 18
}
}
else {
throw new GradleException("Could not read version.properties!")
}

首先,我们尝试打开一个 version.properties 文件,如果没有打开则失败存在,需要开发人员手动创建启动文件:

VERSION_CODE=1

当然,这个脚本的更健壮的实现可以处理这种情况,并且为开发人员提供初始值。

脚本然后使用所示的读取自定义属性逻辑在前面的部分[注意:本书的,不包括在这里]阅读现有的value... 但它会将旧值增加 1 以获取要使用的新代码。然后将修改后的代码写回到它之前的属性文件中在 defaultConfig block 中应用。

在这种情况下,脚本会抛出一个 GradleException 来停止构建,如果version.properties 文件无法找到或不能阅读。

关于android - 项目构建的增量版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21985496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com