我正在试验基于 Gradle 的新 Android 构建系统,我在想,用它自动增加 versionCode 的最佳方法是什么。我正在考虑两种选择
还有更简单或更合适的解决方案吗?
有没有人使用过上面提到的选项之一并可以与我分享?
最佳答案
我已决定第二个选项 - 解析 AndroidManifest.xml
。这是工作 fragment 。
task('increaseVersionCode') << {
def manifestFile = file("AndroidManifest.xml")
def pattern = Pattern.compile("versionCode=\"(\\d+)\"")
def manifestText = manifestFile.getText()
def matcher = pattern.matcher(manifestText)
matcher.find()
def versionCode = Integer.parseInt(matcher.group(1))
def manifestContent = matcher.replaceAll("versionCode=\"" + ++versionCode + "\"")
manifestFile.write(manifestContent)
}
tasks.whenTaskAdded { task ->
if (task.name == 'generateReleaseBuildConfig') {
task.dependsOn 'increaseVersionCode'
}
}
versionCode
在这种情况下是为发布版本发布的。为调试构建增加它在 task.whenTaskAdded
回调中更改 task.name 方程。
https://stackoverflow.com/questions/17448565/
相关文章:
java - 如何在 Eclipse 中更新 Maven 存储库?
php - 错误构建 : fatal error: pcre. h:没有这样的文件或目录
unit-testing - 没有找到测试。确保已安装的测试发现器和执行器、平台和框架版本设置正确,
go - go build 是什么意思? (去构建与去安装)
android - 错误 - Android 资源链接失败(AAPT2 27.0.3 Daemon
javascript - 使用 Webpack 基于环境的条件构建
android - 错误 :(6, 0) 未找到 Gradle DSL 方法: 'google()'