Android 项目构建时的增量版本
在Android Studio中,我在Android 项目构建时的增量版本,android,gradle,android-studio,android-gradle-plugin,build.gradle,Android,Gradle,Android Studio,Android Gradle Plugin,Build.gradle,在Android Studio中,我在build.gradle中有关于应用程序版本的默认信息: android { defaultConfig { versionCode 24 versionName "0.1 beta" } } 如何在每个项目编译时自动增加versionCode?引用: 由于android:versionCode是一个单调递增的整数, 自动化它的一种方法是在每次构建时简单地增加它。 虽然这可能看起来很浪费,但20亿次构
build.gradle
中有关于应用程序版本的默认信息:
android {
defaultConfig {
versionCode 24
versionName "0.1 beta"
}
}
如何在每个项目编译时自动增加versionCode
?引用:
由于android:versionCode
是一个单调递增的整数,
自动化它的一种方法是在每次构建时简单地增加它。
虽然这可能看起来很浪费,但20亿次构建是很多构建,
因此,一个单独的开发人员不太可能用光。同步这样的versionCode
一个团队的价值观会变得更加复杂,但对于个人来说
案例(开发人员、构建服务器等),使用Groovy是完全可行的
示例项目使用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
当然,这个脚本的一个更健壮的实现可以处理这种情况,并且
为开发人员提供起始值
然后,脚本使用“读取自定义属性”逻辑
在前面的章节中,[注:本书的,不包括在这里]阅读现有的
价值但它将旧值增加1,以获得要使用的新代码。
修改后的代码将被写回它之前的属性文件
在defaultConfig
块中应用
在这种情况下,脚本抛出一个GradleException
,如果
找不到version.properties
文件,或者找不到其他文件
阅读。要添加到Commonware的答案中,如果您得到“无法读取版本.属性!”,请在
您的\u项目/app/version.properties
中手动创建一个。