• Cannot set the value of readonly property ‘outputFile‘ for ApkVariantOutputImpl_Decorated


    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 错误

  • 相关阅读:
    关于第一次作业表达式求导总结
    北航OO第一单元总结
    OO课程总结
    OO第三次博客
    OO第二次博客
    OO第一次博客
    OO第一单元总结——多项式求导
    [面向对象]电梯作业优化相关
    面向对象的程序设计-模块一课程总结
    OO第二单元总结——电梯
  • 原文地址:https://www.cnblogs.com/Rocky_/p/15632230.html
Copyright © 2020-2023  润新知