gradle多渠道打包、配置签名信息

定制生成的apk文件名

applicationVariants.all { variant ->
         if (variant.buildType.name.equals('release')) {
             variant.outputs.each { output ->
                 def outputFile = output.outputFile
                 if (outputFile != null && outputFile.name.endsWith('.apk')) {
                     def fileName = "gradle4android_v${defaultConfig.versionName}_${releaseTime()}_${variant.flavorName}.apk"
                     output.outputFile = new File(outputFile.parent, fileName)
                 }
             }
         }
     }

Could not find method releaseTime() for arguments [] on com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated@50fe0eed. 
为什么我抱这种错误:
releaseTime 是自定义这个我没有定义      

yyyyMMddHHmm打包时间戳方法:

def releaseTime() {
      return new Date().format("yyyyMMddHHmm", TimeZone.getTimeZone("GMT+8"))
}

添加到build.gradle文件中android{…} 方法体外

打包方法:

applicationVariants.all { variant ->
    if (variant.buildType.name.equals('release')) {
          variant.outputs.each { output ->
        def outputFile = output.outputFile
            if (outputFile != null && outputFile.name.endsWith('.apk')) {
                  def fileName = "MinicashboxSdk_${releaseTime()}.apk"
              output.outputFile = new File(outputFile.parent, fileName)
            }
          }
    }
  }
文章目录