Kotlinの新コンパイラ「K2」が8月1日に発表されました。これにより、Kotlinのコードが従来のコンパイラに比べて2倍高速化される見込みです。さらに、Kotlin 2.0のリリース後には、新しい言語機能の追加も可能となる柔軟なアーキテクチャが採用されています。
Kotlin 1.9からベータ版公開、新コンパイラ「K2」を試す
Kotlin 1.9にて、新コンパイラ「K2」のベータ版が公開されました。このK2コンパイラは、JVMターゲットを含むAndroidプロジェクトに対応しており、Kotlin 2.0のリリースに向けての準備を進めるために、開発者に利用を推奨しています。プロジェクトをK2コンパイラでコンパイルすることで、新しいコンパイラの安定性を確認し、Kotlin 2.0の導入に備えることができます。もし問題に遭遇した場合は、Kotlinのイシュートラッカーに報告することが可能です。
ただし、現時点では本番環境でのK2コンパイラの使用は推奨されていません。早期に試す場合は、K2コンパイラを使用してプロジェクトの別ブランチを作成することを推奨します。詳細な手順に関しては、Now in Androidリポジトリの例を参照してください。
ツールサポートの更新も進行中
新コンパイラ「K2」に対応するために、他のツールやプラグインも順次更新されています。現時点では、Jetpack ComposeコンパイラプラグインはKotlin 1.5.0以降でK2をサポートしており、Android Lintはバージョン8.2.0-alpha12以降でK2に対応しています。これらのツールを使用している場合は、公式ドキュメントを確認し、K2への対応状況を把握してください。また、カスタムlintルールを使用している場合は、古いフロントエンドAPIに依存しているルールを新しい「analysis API」に更新する必要があります。
他のツールに関しては、K2への対応が進行中です。現時点では、KSPとKAPTタスクは旧コンパイラをフォールバックとして使用していますが、それ以外のコンパイルタスクにおいてはK2を使用できる状況です。
ただし、Android Studioは現在のところK2に対応していないため、一部の状況でIDEのコード分析とコマンドラインビルドの結果に差異が生じる可能性があります。さらに、追加のコンパイラプラグインを使用している場合は、それらのドキュメントを確認してK2との互換性を確認してください。
¥
詳しくは、「Try the K2 compiler in your Android projects」を参照してください。