在build.gradle中添加以下函数:
def releaseTime() { return new Date().format("yyyyMMddHHmm", TimeZone.getTimeZone("GMT+08:00")) }
引用这个函数:
def fileName = "SecyrityPassDemo_${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"
以下是一个完整的build.gradle文件
apply plugin: 'com.android.application' android { compileSdkVersion 26 buildToolsVersion "26.0.2" defaultConfig { applicationId "com.pci.securigydemotest" minSdkVersion 19 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" signingConfigs { release { storeFile file("/APP_Keystore/keyless.keystore") //签名文件全路径 storePassword "123456" keyAlias "keyless.keystore" keyPassword "123456" } } applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { // 输出apk名称为Pos_v1.0.0_201709251000_.apk def fileName = "SecyrityPassDemo_${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk" output.outputFile = new File(outputFile.parent, fileName) } } } productFlavors { Beta { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "Beta"] } } } buildTypes { release { signingConfig signingConfigs.release minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } repositories { flatDir { dirs 'libs' } } } android { lintOptions { abortOnError false } } def releaseTime() { return new Date().format("yyyyMMddHHmm", TimeZone.getTimeZone("GMT+08:00")) } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:26.0.0-alpha1' compile(name: 'security-release', ext: 'aar') compile 'com.android.support.constraint:constraint-layout:1.0.2' testCompile 'junit:junit:4.12' }