android {
signingConfigs {
config {
keyAlias 'myapp'
keyPassword '123456'
storeFile file('H:/android/project/AndroidFire-master/myapp.jks')
storePassword '123456'
}
}
compileSdkVersion 24
buildToolsVersion "25"
defaultConfig {
applicationId "................"
minSdkVersion 15
targetSdkVersion 24
versionCode 10
versionName "1.1.0"
}
buildTypes {
release {
buildConfigField "boolean", "LOG_DEBUG", "false"
//混淆
minifyEnabled false
//Zipalign优化
zipAlignEnabled true
// 移除无用的resource文件
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
//apk命名
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
//这里修改apk文件名
def fileName = "AndroidFire-${defaultConfig.versionCode}-${defaultConfig.versionName}-${releaseTime()}.apk"
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
signingConfig signingConfigs.config
}
debug {
buildConfigField "boolean", "LOG_DEBUG", "true"
minifyEnabled false
zipAlignEnabled false
shrinkResources false
}
}
//设置虚拟机堆内存空间大小,避免在编译期间OOM
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
//打包不检查
lintOptions {
checkReleaseBuilds false
abortOnError false
}
}

如果你的classPath>3.0 会报错 应当使用

applicationVariants.all { variant ->    //批量修改Apk名字
variant.outputs.all { output ->
if (!variant.buildType.isDebuggable()) {
//获取签名的名字 variant.signingConfig.name
//要被替换的源字符串
def sourceFile = "-${variant.flavorName}-${variant.buildType.name}"
//替换的字符串
def replaceFile = "gxb_v${variant.versionName}_${variant.productFlavors[0].name}_${variant.buildType.name}"
outputFileName = output.outputFile.name.replace(sourceFile, replaceFile);
}
}
}