在我没有开发的Android应用中,但我必须编辑,我找到了这个gradle脚本:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.ajoberstar:grgit:1.5.0'
}
}
import org.ajoberstar.grgit.Grgit
ext {
git = Grgit.open(currentDir: projectDir)
gitVersionName = git.describe()
gitVersionCode = git.tag.list().size()
gitVersionCodeTime = git.head().time
}
task printVersion() {
println("Version Name: $gitVersionName")
println("Version Code: $gitVersionCode")
println("Version Code Time: $gitVersionCodeTime")
}
" gitVersionCode"变量用作" versionCode" build.gradle文件中的应用程序 这是build.gradle文件:
// gradle script
apply from: "$project.rootDir/tools/script-git-version.gradle"
//...
defaultConfig {
applicationId "..."
minSdkVersion 17
targetSdkVersion 25
versionCode gitVersionCode
versionName gitVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
当我生成已签名的APK并尝试添加到测试版时,我收到了#34;版本代码已存在&#34;的谷歌错误,但我不知道如何编辑该应用的版本代码。< / p>
我的问题是:
答案 0 :(得分:1)
Git是一个版本控制系统。您的项目似乎存储在Git存储库中。
Grgit是一个与Git一起使用的Groovy库。您的Gradle脚本正在加载此库。
git
是Grgit
的一个实例。 git.tag.list()
returns a list of the Git tags used in this repository。 git.tag.list().size()
返回该列表中的标记数。
因此,这个Gradle脚本将versionCode
设置为项目的Git存储库中使用的Git标记的数量。
如何编辑应用的版本代码?
或者:
创建另一个Git标记,例如标记您要发布的版本,或
更改versionCode gitVersionCode
以停止使用gitVersionCode
并使用其他编号系统
答案 1 :(得分:1)
似乎正在使用this library来查询git,以便生成版本名称和版本代码。就版本代码而言,它看起来像是根据它找到的git标签的数量进行设置。因此,要破坏版本代码,请在发布提交上执行git tag
。
如果这不合适,您可以手动完成并替换
versionCode gitVersionCode
与
versionCode 99
替换&#34; 99&#34;无论您的版本代码应该是什么。