有时候会须要打包到指定的门路而后由脚本推送。打包 apk 时能够通过 gradle 指定名称和门路,并且能够配置更多信息。
def appReleaseDir = "apk 输入文件夹"
signingConfigs {
// 签名信息 能够自定义很多,以下是必须的
releaseConfig {storeFile file("jks 签名文件门路")
storePassword "xxxxxx"
keyAlias "xxxxxx"
keyPassword "xxxxxx"
}
}
// 批改生成的 apk 名字
applicationVariants.all{ variant->
variant.outputs.each { output->
def oldFile = output.outputFile
def newName = '';
// 只有 release 编译时失效
if(variant.buildType.name.equals('release')){
// APK 输入文件名规定:极剪 - 版本名 -.apk
def releaseApkName = '极剪 -' + appVersionName + '-' + '.apk'
// 设置 apk 输入文件夹
output.getPackageApplication().outputDirectory = new File(project.rootDir.absolutePath + "/releaseApks")
// 设置 apk 输入文件名
output.outputFileName = releaseApkName
}
}
}
// 获取工夫戳
def getDate() {def date = new Date()
def formattedDate = date.format('yyyyMMddHHmm')
return formattedDate
}
这样 release 编译就会依据指定的规定生成在指定目录,而后能够用 Jenkins 等进行公布治理。