Android Studio项目的自动版本控制

问题描述 投票:1回答:1

在我的上一个个人项目中,我尝试使用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
}
android android-studio version-control android-gradle-plugin semantic-versioning
1个回答
0
投票

我真的很喜欢两种解决方案。第一个取决于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 {
    ...
}
© www.soinside.com 2019 - 2024. All rights reserved.