修正 Gradle 升级带来的错误

在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"
                }
            }

#待续 -- 逐本溯源

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容