Android Studio自定义打包输出文件名和路径(获取当前编译时间)

Application自定义输出文件名和路径

在build.gradle的buildTypes下加入以下代码:

applicationVariants.all { variant ->
	variant.outputs.all {
		outputFileName = "${project.name}-${variant.baseName}-v${variant.versionName}.apk"
	}

	variant.assemble.doLast {
		variant.outputs.all {
			File publishDir = new File(
					"${rootDir}/build/outputs/${variant.versionName}/")
			copy {
				from outputFile
				into publishDir
			}
		}
	}
}

Android Library自定义输出文件名和路径

在build.gradle的buildTypes下加入以下代码:

libraryVariants.all { variant ->
	variant.outputs.all {
		outputFileName = "${project.name}_${defaultConfig.versionName}_${getBuildTime()}_${variant.baseName}.aar"
	}

	variant.assemble.doLast {
		variant.outputs.all {
			File publishDir = new File(
					"${rootDir}/build/outputs/${defaultConfig.versionName}/")
			copy {
				from outputFile
				into publishDir
			}
		}
	}
}

获取当前编译时间用作输出文件名

获取当前编译时间:

String getBuildTime() {
    Date date = new Date()
    String dateStr = date.format("yyyy-MM-dd")
    return  dateStr
}

用作输出文件名(参照上面的输出文件名配置)

outputFileName = "${project.name}_${getBuildTime()}.apk"