在重命名期间尝试将'git describe'字符串插入我的APK时遇到麻烦。 我创建了一个自定义任务,以将生成的APK重命名并将其复制到目录中。 当返回的字符串显示“ v1.0-1-g49a9eaa-dirty”时,我的APK在“ MyApp-v1.0-dirty.apk”中重命名,而不是“ MyApp-v1.0-1-g49a9eaa-dirty.apk”
这是我在Android Studio中的gradle文件的代码:
项目build.gradle:
def getGitVersionName = { ->
try {
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'describe', '--tags', '--dirty'
standardOutput = stdout
}
return stdout.toString().trim()
}
catch (ignored) {
return null
}
}
allprojects {
repositories {
google()
jcenter()
}
ext {
gitVersionName = getGitVersionName()
printf "ROOT VersionName ${project.gitVersionName}\n"
}
}
应用程序build.gradle:
....
task('deployApk', type: Copy, dependsOn: [':app:clean',':app:build']) {
description 'Copies the resource directory to the target directory.'
from('build/outputs/apk/debug/')
include('app-debug.apk')
into('../buildAssets/apk')
rename('app-debug.apk', "MyApp-${project.gitVersionName}.apk")
printf "MyApp-${project.gitVersionName}.apk\n"
}
我为两个'printf'获得的结果是:
ROOT VersionName v1.0-1-g49a9eaa-dirty
> Configure project :app
MyApp-v1.0-1-g49a9eaa-dirty.apk
但是apk名称与我之前说的
MyApp-v1.0-dirty.apk
有什么想法吗?