在我的上一个个人项目中,我尝试使用semantic versioning来实现GitHub以便习惯于更专业的工作流程,但是我很快发现一个人很容易忘记手动可以增加[该应用程序,导致在开发阶段的后期出现问题。
我正在使用Android Studio进行项目开发,我想知道你们是否知道任何可以自动执行版本增量操作的Android Studio工具/插件/,或者至少通知您您要提交的是旧版本的新文件。
当前,这就是我在Gradle文件中实现语义版本控制的方式:
// increment these manually before commit
ext.majorVersion = 0
ext.minorVersion = 8
ext.patchVersion = 1
ext.preRelease = "alpha.1"
...
defaultConfig {
versionCode generateVersionCode()
...
private Integer generateVersionCode() {
return ext.minSdkVersion * 10000000 + ext.majorVersion * 10000 + ext.minorVersion * 100 + ext.patchVersion
}
我真的很喜欢两种解决方案。第一个取决于Play商店,另一个取决于Git。
使用Play商店,您可以查看最高的上载版本代码来增加版本代码。此解决方案的好处在于,APK上传不会失败,因为您的版本代码始终比Play商店上的版本代码高一个。不利之处在于,在Play商店之外分发APK变得更加困难。您可以按照quickstart guide并将插件告知resolve version codes automatically,使用Gradle Play Publisher进行设置:
plugins {
id 'com.android.application'
id 'com.github.triplet.play' version 'x.x.x'
}
android {
...
}
play {
serviceAccountCredentials = file("your-credentials.json")
resolutionStrategy = "auto"
}
使用Git,您可以根据存储库中的提交和标记数量来增加版本代码。这样做的好处是您的输出是可复制的,并且不依赖于回购之外的任何东西。缺点是您必须进行新的提交或标记才能更改版本代码。您可以通过添加Version Master Gradle plugin:
进行设置plugins {
id 'com.android.application'
id 'com.supercilex.gradle.versions' version 'x.x.x'
}
android {
...
}