首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有些build.gradle文件有不同的语法,而另一些呢?

有些build.gradle文件有不同的语法,而另一些呢?
EN

Stack Overflow用户
提问于 2022-01-18 11:38:27
回答 2查看 39关注 0票数 1

启动了一个新作业,我可以看到,build.gradle文件的语法有点不同,比如使用=赋值的语法,而不使用=的语法。外汇。谷歌向日葵演示应用程序有不带括号的implemetation语句,我的项目使用括号,否则不会工作。

我想像我习惯的那样,在一个地方拥有所有的附加版本,当然,在向日葵应用程序中也是如此:

代码语言:javascript
复制
ext {
    appCompatVersion = '1.1.0'
    ...
}

但我的计划失败了

怎么一回事?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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.gradlebuild.gradle.kt的项目是可以的,但是Gradle足够聪明,可以让它们相互理解,尽管为了一致性起见,我建议对所有Gradle文件都使用一种DSL语言。

默认情况下,当您第一次创建Android项目时,为您生成的Gradle文件在Groovy中。

关于这两种语法之间差异的更详细的详细信息,我强烈建议从“准备Groovy脚本”一节开始阅读Gradle文档本页面将特别介绍如何从Groovy迁移到Kotlin DSL。。当您从Stackoverflow复制/粘贴Gradle补丁时,让它出现在您的身边是很方便的,因为Stackoverflow是用不符合Gradle文件扩展名的Gradle语法编写的,尽管最终您可能会自己记住这些微小的差异。

票数 1
EN

Stack Overflow用户

发布于 2022-06-27 23:04:29

不要混淆build.gradle (Groovy)和build.gradle.kts (Kotlin)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70754987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档