【发布时间】:2014-09-24 21:16:51
【问题描述】:
我正在尝试根据 git 分支命名我的应用程序的 APK 文件,该分支通过使用 jenkins 传入参数来工作。但是,我最终得到了两个 APK,这是不可取的,因为我有一个 Gradle 任务将 APK 上传到分布式列表。重命名此 APK 的全部目的是让收到它的人确切知道他们看到的是哪个分支。
buildTypes {
...
feature {
signingConfig signingConfigs.debug
applicationVariants.all { variant ->
appendVersionNameVersionCode(variant, defaultConfig)
}
}
...
}
...
def appendVersionNameVersionCode(variant, defaultConfig) {
//check if staging variant
if(variant.name == android.buildTypes.feature.name){
def branch = hasProperty('branch') ? branch.replaceAll('origin/', '') : "UNKNOWN"
def file = variant.packageApplication.outputFile
def fileName = "myapp-FEATURE-" + branch + ".apk"
variant.packageApplication.outputFile = new File(file.parent, fileName)
}
}
然后调用gradle命令:
gradle assembleFeature --project-dir=/Path/To/myapp/ -Pbranch=origin/development
从中生成的两个文件是:
- app-feature.apk
- myapp-FEATURE-development.apk
不需要文件 1,我最终希望重命名该文件,而不是生成一个新文件,即文件 2。
有什么想法吗?
【问题讨论】:
标签: android gradle android-studio apk android-gradle-plugin