作者 / Kotlin 产品经理 James Ward、开发者关系工程师 Boris Farber
四年来,Android 一直贯彻 "Kotlin 优先" 的原则,许多 Android 开发者已经做出了改变,陆续推出了效率更高、性能更稳定的应用。然而,尽管 Kotlin (build.gradle.kts) 语言已经在 Gradle 中存在多年,但定义构建的默认语言一直是 Groovy (build.gradle)。
现在,我们非常高兴地宣布将把构建脚本的默认语言切换为 Kotlin!这意味着 Kotlin 是所有项目代码的唯一默认语言,包括利用 Jetpack Compose 开发的用户界面,以及最新支持的构建脚本!在我们与 Gradle 和 JetBrains 团队的不懈努力下,终于为您带来这项改进。了解更多详情,您可以参阅相关公告: Gradle 博客;JetBrains 博客。
Jetpack Compose
https://developer.android.google.cn/jetpack/composeGradle 博客
https://blog.gradle.org/kotlin-dsl-is-now-the-default-for-new-gradle-buildsJetBrains 博客
https://blog.jetbrains.com/kotlin/2023/04/kotlin-dsl-is-the-default-for-new-gradle-builds/
这项改进不会影响使用 Groovy 语言的现有项目。这些项目将继续正常运行,暂无任何弃用计划。但如果您通过 Android Studio Giraffe 开始创建新项目或新模块,则将默认使用 Kotlin DSL。利用经过更新的项目模板,您可使用新的 Kotlin DSL 构建脚本轻松上手。如要迁移现有构建,您可以查看 Kotlin DSL 迁移指南:
https://developer.android.google.cn/studio/build/migrate-to-kts
虽然 Kotlin DSL 是创建新项目时的默认语言,但基于 Groovy DSL 的大型现有项目的迁移工作不可操之过急。Gradle、JetBrains 和 Google 正致力于进一步提高构建性能。这项工作正在进行中,我们将在取得进展时与您分享最新动态。具体而言,Kotlin DSL 的脚本编译性能慢于 Groovy DSL。然而,与 Groovy DSL 不同的是,Kotlin DSL 脚本编译结果存储在 Gradle 本地和远程缓存中,因此您无需在后续构建过程中重新编译。
推出这一改进有很多好处,为项目中的所有代码使用单一语言只是其中之一,让我们来看看使用 Kotlin DSL 构建 Gradle 的其他优势。
Kotlin 是静态类型语言,因此您在编辑 Kotlin DSL 构建脚本时可以获得快速而准确的代码提示:
检查语法错误功能更准确,且系统会在您编辑 Kotlin DSL 构建脚本时显示语法错误,而不是在尝试同步项目时显示:
按下 Control+Q (如果使用 macOS,则为 Command+B) 即可获取类型和方法文档。如果您需要更多详细信息,则可通过按下 Control 并单击鼠标左键 (如果使用 macOS,则是按下 Command 并单击鼠标左键) 转到底层源代码:
您可以在一个项目中混合使用 Groovy DSL 构建脚本和 Kotlin DSL 构建脚本,然后逐个模块进行迁移。您可借助此功能为新模块启用 Kotlin DSL,同时保留使用 Groovy 的现有模块。
我们还对新的项目模板进行了相关更改。这是一个实验性功能,可以支持您搭配使用 Gradle 版本目录与 Kotlin DSL 构建脚本。
Gradle 版本目录
https://docs.gradle.org/current/userguide/platforms.html
借助版本目录,您可使用集中化、可扩展的方式来定义项目的依赖项。虽然我们并不强制要求您使用版本目录,但其可在构建定义中提供更多类型安全性,是 Kotlin DSL 的完美搭档。
您可以查看《迁移指南》,了解关于迁移到版本目录的更多信息:
https://developer.android.google.cn/studio/build/migrate-to-catalogs
新推出的 Kotlin DSL 默认更改现已可在 Android Studio Giraffe 预览版中使用。欢迎您即刻试用并与我们分享您的使用感受!也欢迎您持续关注 "Android 开发者" 微信公众号,及时了解更多开发技术和产品更新等资讯动态。
Android Studio Giraffe 预览版
https://developer.android.google.cn/studio/preview与我们分享您的使用感受
https://issuetracker.google.com/issues/new?component=192708&template=840533
推荐阅读
如页面未加载,请刷新重试
点击屏末 | 阅读原文 | 即刻在 Android Studio Giraffe 预览版中使用