如何在你的Android工程中启用K2编译器?

如何在你的Android工程中启用K2编译器?

K2编译器是用于Kotlin代码编译的最新、高效编译器,你现在可以尝试使用了。

Kotlin编译器正在为Kotlin 2.0进行重写,新的编译器实现(代号K2)带来了显著的构建速度改进,编译Kotlin代码的速度比原始编译器快了两倍。它还具有更灵活的架构,允许在2.0之后引入新的语言功能。

尝试新的编译器

Kotlin 1.9引入了K2新编译器的Beta版本,适用于JVM目标,包括Android项目。为了帮助稳定新编译器并确保准备好迎接Kotlin 2.0,我们鼓励您尝试使用新编译器编译您的项目。如果遇到任何问题,可以在Kotlin问题跟踪器上报告它们。

要尝试新编译器,请更新到Kotlin 1.9,并将以下内容添加到项目的gradle.properties文件中:

kt 复制代码
kotlin.experimental.tryK2=true

请注意,新编译器目前不应用于生产构建。早期尝试的一个好方法是在项目中创建一个单独的分支以使用K2进行编译。您可以在Now in Android存储库中找到一个示例。

支持K2的工具

依赖Kotlin编译器前端的插件和工具也必须更新以支持K2。一些工具已经具有用于使用K2构建的实验性支持:Jetpack Compose编译器插件从1.5.0开始支持K2,与Kotlin 1.9兼容。

Android Lint从8.2.0-alpha12版本开始支持K2。要在K2上运行Lint,请升级到此版本并将android.lint.useK2Uast=true添加到您的gradle.properties文件中。请注意,任何依赖于旧前端API的自定义Lint规则都必须更新以使用分析API。

在其他工具中添加对K2的支持仍在进行中:KSP和KAPT任务在使用K2构建项目时目前仍会回退到使用旧编译器。但是,当使用这些工具时,编译任务仍可以使用K2运行。

Android Studio还依赖于Kotlin编译器进行代码分析。在Android Studio支持K2之前,使用K2进行构建可能会导致在某些边缘情况下IDE的代码分析与命令行构建之间存在一些差异。

如果您使用任何额外的编译器插件,请检查它们的文档,以查看它们是否已与K2兼容。

立即开始使用K2编译器

立即尝试K2编译器

Kotlin 2.0编译器带来了显著的改进,有助于更快地发布更新、提高生产力,并将更多精力投入到使您的应用独特的方面。它已经与Jetpack Compose兼容,我们还计划在其他工具(包括Android Studio、KSP和编译器插件)中提供更好的支持。现在是时候在您的应用代码中尝试它,并提供与Kotlin、Compose或Lint相关的反馈意见。

相关推荐
爱笑鱼1 小时前
Android 系统启动机制(二):init.rc 不是普通脚本,service、action 和 property 怎样驱动启动?
android
新鲜势力呀1 小时前
深入理解 Elliot CUDA 编程核心:PHP 实现 CUDA 并行计算思想与实践
android·开发语言·php
恋猫de小郭2 小时前
Flutter 3.47 首坑,analysis_options 问题连环回归
android·前端·flutter
ue星空4 小时前
第一个安卓程序
android
淡淡的香烟4 小时前
Androidiot蓝牙配网简单封装
android·物联网
gxgldyh4 小时前
Android Framework源码解析(九):App进程诞生全流程——从AMS请求到Zygote fork源码深度拆解
android·framework·zygote·android 启动流程·android app创建流程
牛哇网络工作室11 小时前
UnityHDRP写实数字人全流程基础5—语音输入和语音识别
android·unity·c#·游戏引擎·aigc·语音识别·xcode
一笑的小酒馆11 小时前
Androidiot蓝牙配网简单封装
android
愚公搬代码14 小时前
【愚公系列】《Android应用案例开发大全》016-LBS类应用掌上杭州(辅助工具类的开发)
android·前端
g105655913915 小时前
LAMP博客平台Wordpress实战
android·mysql·nginx·php