我有模块级别的文件 build.gradle 最近更改为新的 Kotline DSL 版本重命名为 build.gradle.kts
我有一行生成 versionName 用作 xml 中的字符串(设置活动以显示应用程序版本)
旧代码
applicationVariants.all { variant ->
variant.resValue "string", "versionName", variant.versionName }
我尝试将其转换为 Kotlin DSL,但没有成功
我试过了,但没用
applicationVariants.all { variant -> variant.resValue("string", "versionName", variant.versionName)}
出现错误
Type mismatch: inferred type is Unit but Boolean was expected
问题是
applicationVariants
有 2 个版本返回布尔值,所以当您使用代码时
applicationVariants.all { variant -> variant.resValue("string", "versionName", variant.versionName)}
applicationVariants.all
需要一个布尔值,所以你需要返回 false 或 true,但你正在寻找的没有布尔值选项
applicationVariants.all { resValue("string", "versionName",versionName)}
签名看起来是一样的,但是当你使用IDE时选择不是“布尔”的签名作为返回值,这很令人困惑,但我也遇到了这个问题。