Android APK 생성 시 APK 파일 이름에 Git 리비전 태그를 붙이는 방법을 설염합니다.
안드로이드에서 처음 앱을 빌드하면 apk는 보통
app-debug.apk
또는 app-release.apk
가 보통 나옵니다.
버전관리를 위해 APK 이름에 빌드 날짜와 git 리비전을 남기고 싶다면 아래와 같이 작성해보세요.
1. 앱 수준의 build.gradle(app)
앱 수준의 build.gradle(app) 에서 android{ } 안에 아래와 같이 추가 하면 됩니다
android {
...
android.applicationVariants.all { variant ->
changeAPKName(variant)
}
}
2. changeAPKName 함수 추가
그 다음 android{ }밖에 changeAPKName 함수를 추가합니다.
def changeAPKName(variant) {
variant.outputs.all { output ->
def apkName = {
def appName = 'sample'
def buildType = name.split('-').last() // debug or release
def currentDate = { return new Date().format('yyyyMMdd') }
def gitHash = { ->
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-parse', '--verify', '--short', 'HEAD'
standardOutput = stdout
}
return stdout.toString().trim()
}
return "${appName}_${buildType}_${currentDate()}_${gitHash()}.apk"
}
outputFileName = new File(apkName())
logger.info('APK FILE NAME : ' + apkName())
}
}
그럼 아래와 같은 형식으로 바뀝니다.
만약 다른 방식을 원한다면 changeAPKName 함수를 수정해보세요.