美文网首页GradleGradle
修正 Gradle 升级带来的错误

修正 Gradle 升级带来的错误

作者: GYLEE | 来源:发表于2018-04-24 15:10 被阅读4次

在Android 升级到3.0后,在打开项目时按照提示升级Gradle 插件升级后,在重新编译项目后,gradle 文件会报错。有过这样的经验后,每次报错时自己都知道是哪个问题,但是具体更改的内容自己总是记不住,所以记录下来,加深理解和记忆。

# 一

  • 报错内容

Error:All flavors must now belong to a named flavor dimension.

  • 解决方案
flavorDimensions "color"
    productFlavors{
        dev {
             ....
            dimension "color"
            .....
        }
        prod {
            ....
            dimension "color"
            ....
        }
    }

# 二

  • 报错内容

Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated

  • 解决方案
    • 使用 all() 替换 each()

    • 使用 outputFileName 替换 output.outputFile

原内容

applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def outputFile = output.outputFile
                    def fileName = "new_app_phone_${defaultConfig.versionName}_${defaultConfig.versionCode}_release.apk"
                    output.outputFile = new File(outputFile.parent, fileName)
                }
            }

修改后内容

  android.applicationVariants.all { variant ->
                variant.outputs.all {
                    outputFileName = "new_app_phone_${defaultConfig.versionName}_${defaultConfig.versionCode}_release.apk"
                }
            }

#待续 -- 逐本溯源

相关文章

网友评论

    本文标题:修正 Gradle 升级带来的错误

    本文链接:https://www.haomeiwen.com/subject/nprjlftx.html