1. gradle插件3.0之前的做法
  1. //module输出aar更名的方式
  2. libraryVariants.all { variant ->
  3. if (variant.buildType.name == 'release') {
  4. variant.outputs.each { output ->
  5. def outputFile = output.outputFile
  6. if (outputFile != null && outputFile.name.endsWith('release.aar')) {
  7. def fileName = "${project.name}-release-${android.defaultConfig.versionName}"
  8. output.outputFile = new File(outputFile.parent, fileName + ".aar")
  9. }
  10. }
  11. }
  12. }

apk输出更名的方式只需要将libraryVariants更改成applicationVariants,然后修改对应逻辑即可

2. gradle插件3.0之后的做法

由于api对应的变更,因此3.0之后的方式改为:

  1. libraryVariants.all { variant ->
  2. if (variant.buildType.name == 'release') {
  3. variant.outputs.all { output ->
  4. def outputFile = output.outputFile
  5. if (outputFile != null && outputFile.name.endsWith('release.aar')) {
  6. def fileName = "plide-release-${android.defaultConfig.versionName}"
  7. outputFileName = new File(fileName + ".aar")
  8. }
  9. }
  10. }
  11. }

主要是三处的变化

  • variant.outputs.each -> variant.outputs.all

  • 最后一行的output.outputFile -> outputFileName

  • new File(outputFile.parent)去掉outputFile.parent