У меня проблемы с попыткой вставить строку 'git description' в мой APK во время переименования.Я создал пользовательское задание для переименования и копирования моего сгенерированного APK в каталог.Хотя возвращаемая строка выводит «v1.0-1-g49a9eaa-dirty», мой APK переименовывается в «MyApp-v1.0-dirty.apk» вместо «MyApp-v1.0-1-g49a9eaa-dirty.apk»
Вот код моих файлов Gradle в Android Studio:
Проект 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
Есть идеи?