启动了一个新作业,我可以看到,build.gradle文件的语法有点不同,比如使用=赋值的语法,而不使用=的语法。外汇。谷歌向日葵演示应用程序有不带括号的implemetation语句,我的项目使用括号,否则不会工作。
我想像我习惯的那样,在一个地方拥有所有的附加版本,当然,在向日葵应用程序中也是如此:
ext {
appCompatVersion = '1.1.0'
...
}但我的计划失败了

怎么一回事?
发布于 2022-06-27 22:22:32
Gradle是一种构建自动化工具,可以用多种语言编写,更重要的是,对于Android,Gradle文件通常是用Gradle自己的Groovy语言编写的,这种语言在很大程度上基于Apache的语言,文档中通常将其称为Groovy,也可以用Kotlin DSL编写,Kotlin DSL基于它的父名名Kotlin语言,Gradle的Kotlin DSL支持在2016年宣布,这就是为什么您可能会找到使用Groovy的遗留项目,而其他人则使用Kotlin。
通过查看文件扩展名,可以看出Gradle文件和Kotlin文件之间的区别,settings.gradle是Groovy脚本,settings.gradle.kt是Kotlin脚本。
请注意,Gradle支持Groovy和Kotlin DSL文件之间的互操作性,这意味着,虽然settings.gradle必须用Groovy编写,build.gradle.kt必须用Kotlin DSL编写,但是有一个同时具有settings.gradle和build.gradle.kt的项目是可以的,但是Gradle足够聪明,可以让它们相互理解,尽管为了一致性起见,我建议对所有Gradle文件都使用一种DSL语言。
默认情况下,当您第一次创建Android项目时,为您生成的Gradle文件在Groovy中。
关于这两种语法之间差异的更详细的详细信息,我强烈建议从“准备Groovy脚本”一节开始阅读Gradle文档本页面将特别介绍如何从Groovy迁移到Kotlin DSL。。当您从Stackoverflow复制/粘贴Gradle补丁时,让它出现在您的身边是很方便的,因为Stackoverflow是用不符合Gradle文件扩展名的Gradle语法编写的,尽管最终您可能会自己记住这些微小的差异。
发布于 2022-06-27 23:04:29
不要混淆build.gradle (Groovy)和build.gradle.kts (Kotlin)。
https://stackoverflow.com/questions/70754987
复制相似问题