ctrlC & ctrlV

我们不生产代码,我们只是代码的搬运工~

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

gradle升级后,之前的打包生成apk并重命名代码出现了问题,经查一共有2个地方要修改,下边代码是修改前:

 1     applicationVariants.all { variant ->
 2         variant.outputs.each { output ->
 3             def environment = 'TUI';
 4             def oldFile = output.outputFile
 5             if (variant.buildType.name == 'release') {
 6                 def releaseApkName = 'PORSCHE_'+ defaultConfig.versionName + '_' +releaseTime()+ '_'+environment+'_release.apk'
 7                 output.outputFile = new File(oldFile.parent, releaseApkName)
 8             } else {
 9                 def debugApkName = 'PORSCHE_' + defaultConfig.versionName + '_' /*+ releaseTime()+ '_'*/+environment+'_debug.apk'
10                 output.outputFile = new File(oldFile.parent, debugApkName)
11             }
12         }
13     }

这个是修改后:

 1 applicationVariants.all { variant ->
 2         variant.outputs.each { output ->
 3             def environment = 'TUI';
 4             def oldFile = output.packageApplication.outputDirectory.toPath()
 5                     .relativize(rootDir.toPath()).toFile()
 6             if (variant.buildType.name == 'release') {
 7                 def releaseApkName = 'PORSCHE_'+ defaultConfig.versionName + '_' +releaseTime()+ '_'+environment+'_release.apk'
 8                 output.outputFileName = new File(oldFile.parent, releaseApkName)
 9             } else {
10                 def debugApkName = 'PORSCHE_' + defaultConfig.versionName + '_' /*+ releaseTime()+ '_'*/+environment+'_debug.apk'
11                 output.outputFileName = new File(oldFile.parent, debugApkName)
12             }
13         }
14     }

第一处:output.outputFile = 改成 output.outputFileName =

第二处:def oldFile = output.outputFile 改成 output.packageApplication.outputDirectory.toPath()
.relativize(rootDir.toPath()).toFile()

否则就会报 Absolute path are not supported when setting an output file name 错误

posted on 2021-12-02 10:49  Rocky_  阅读(128)  评论(0编辑  收藏  举报