复制Android教程build.gradle.kts代码后遇Gradle同步多错误求助
问题原因与解决方案
你遇到的所有语法错误,都是因为把Groovy语法的Gradle配置直接复制到了Kotlin DSL(.gradle.kts)文件中——两种语法规则不兼容,导致Gradle无法解析代码。
原错误代码(Groovy语法)
flavorDimensions "app_type" productFlavors { demo { dimension "app_type" } full { dimension "app_type" } }
适配Kotlin DSL的正确代码
替换为以下代码即可完成同步:
flavorDimensions += "app_type" productFlavors { create("demo") { dimension = "app_type" } create("full") { dimension = "app_type" } }
核心语法差异
- 风味维度声明:Kotlin DSL中用
flavorDimensions += "维度名"添加维度,而非Groovy的直接方法调用 - 产品风味创建:必须通过
create("风味名")方法创建,不能像Groovy那样直接写风味名称作为闭包 - 属性赋值:Kotlin DSL使用
dimension = "xxx"的赋值语法,替代Groovy的dimension("xxx")方法调用
内容的提问来源于stack exchange,提问作者Keiran Haas
相关产品推荐
相关产品推荐

