android studio 3.0以前
assembleDebug.doLast{
copy {
println 'copy assembleDebug'
from('build/intermediates/bundles/debug/classes.jar')
into('build/outputs/')
rename{
'tools.jar'
}
}
}
android studio3.0以后没有找到好方法
以下打包适用于Build->Generate Signed APK
outputName根据实际情况配置
task copyTask {
def today = new Date().format('yyyyMMddHH');
this.android.productFlavors.all {
flavor ->
def outputName = "test_${this.android.defaultConfig.versionName}_build_${name}_${this.android.defaultConfig.versionCode}" + "_release.apk"
copy {
from("${name}/release")
into('build/outputs/' + "release/" + today)
include(outputName)
}
}
}
/**
* 执行zip打包操作
*/
task zip(type: Zip, dependsOn: copyTask) {
def today = new Date().format('yyyyMMddHH');
from 'build/outputs/' + "release/" + today
destinationDir file('build/outputs/' + "release/")
baseName 'taozhubaochuandai'
appendix 'android'
version this.android.defaultConfig.versionName
extension 'zip'
classifier "release-${today}"
}
以下打包适用于Edit Configurations(assembleTestRelease)->Run
可以配置Tasks为 assembleTestRelease zipFromBuild 实现编译apk成功后快速打包
Test为flavor名
task copyTaskFromBuild {
def today = new Date().format('yyyyMMddHH');
this.android.productFlavors.all {
flavor ->
def outputName = "test_${this.android.defaultConfig.versionName}_build_${name}_${this.android.defaultConfig.versionCode}" + "_release.apk"
copy {
from("build/outputs/apk/${name}/release")
into('build/outputs/' + "release/" + today)
include(outputName)
}
}
}
/**
* 执行zip打包操作
*/
task zipFromBuild(type: Zip, dependsOn: copyTaskFromBuild) {
def today = new Date().format('yyyyMMddHH');
from 'build/outputs/' + "release/" + today
destinationDir file('build/outputs/' + "release/")
baseName 'taozhubaochuandai'
appendix 'android'
version this.android.defaultConfig.versionName
extension 'zip'
classifier "release-${today}"
}