PC パソコン

Android Studio「AGP 9.0.0-rc01 doesn’t resolve Kotlin libraries via kotlin() function」の原因と解決方法

Android Gradle Plugin(AGP)9.0.0-rc01へ更新した後、kotlin("stdlib")などのkotlin()関数で指定したKotlinライブラリが解決されず、Gradle Syncやビルドが失敗することがあります。

これは依存関係の書き方だけが原因とは限りません。Googleの公式リリースノートでは、AGP 9.0.0-rc01でkotlin()関数経由のKotlinライブラリを解決できない問題が、AGP 9.1.0-alpha05の修正項目として掲載されています。

発生する症状

次のような依存関係を使っているプロジェクトで、Kotlinライブラリが見つからない、依存関係を解決できない、またはGradle Syncが完了しないことがあります。

dependencies {
    implementation(kotlin("stdlib"))
    testImplementation(kotlin("test"))
}

エラー文はプロジェクト構成によって異なり、Could not resolve、Could not find、未解決の依存関係などとして表示される場合があります。

原因

主な原因は、AGP 9.0.0-rc01に含まれていた依存関係解決の不具合です。AGP 9.0ではBuilt-in Kotlinが標準で有効になり、従来のorg.jetbrains.kotlin.androidプラグインを適用しない構成へ変わりました。この移行期に、Gradle Kotlin DSLのkotlin()ヘルパーで記述した依存関係が正しく処理されないケースがありました。

AGP 9.0.0-rc01は正式版ではなくRelease Candidateです。現在もrc01を固定している場合、キャッシュ削除や再同期だけで直そうとせず、まずAGPを更新してください。

解決方法1:AGPを更新する

最も確実な方法は、修正を含むAGPへ更新することです。公式にはAGP 9.1.0-alpha05の修正項目に掲載され、その後のAGP 9.1安定版にも取り込まれています。2026年9月時点では、プレビュー版ではなくプロジェクトが対応できる最新の安定版を選ぶのが安全です。

plugins {
    id("com.android.application") version "9.1.1" apply false
}

Version Catalogを使っている場合は、gradle/libs.versions.tomlのAGPバージョンを更新します。

[versions]
agp = "9.1.1"

[plugins]
android-application = {
    id = "com.android.application",
    version.ref = "agp"
}

AGP 9.1.1はGradle 9.3.1とJDK 17を必要とします。AGPだけを変更せず、Gradle WrapperとGradle JDKも公式の互換表に合わせてください。

解決方法2:明示的なMaven座標へ一時的に置き換える

すぐにAGPを更新できない場合は、kotlin()ヘルパーを使わず、ライブラリのMaven座標を明示する方法があります。

dependencies {
    implementation("org.jetbrains.kotlin:kotlin-stdlib:2.2.10")
    testImplementation("org.jetbrains.kotlin:kotlin-test:2.2.10")
}

ただし、バージョンは例です。プロジェクトで実際に使用するKotlin Gradle Plugin(KGP)と揃えてください。AGP 9.0のBuilt-in KotlinはKGP 2.2.10へのランタイム依存を持つため、異なるKotlinバージョンを無計画に混在させないことが重要です。

解決方法3:不要なstdlibの明示指定を外す

Kotlin Gradle Pluginが標準ライブラリを自動追加している構成では、implementation(kotlin("stdlib"))自体が不要な場合があります。依存関係ツリーを確認し、すでにstdlibが追加されているなら重複する宣言を削除できます。

./gradlew :app:dependencies

kotlin("test")など明示的に必要な依存関係まで削除しないよう注意してください。

解決方法4:AGP 9移行設定を確認する

AGP 9ではBuilt-in Kotlinが既定で有効です。Androidモジュールに古いKotlin Androidプラグインが残っていると、別のエラーが重なる可能性があります。

plugins {
    id("com.android.application")
    // id("org.jetbrains.kotlin.android") はBuilt-in Kotlin移行後は削除
}

外部GradleプラグインがAGP 9に未対応の場合は、そのプラグインも対応版へ更新してください。移行のためにBuilt-in Kotlinを一時的に無効化する方法もありますが、恒久対応ではありません。

更新後の確認手順

  1. gradle-wrapper.properties、AGP、JDKの組み合わせを確認します。
  2. Android Studioで「Sync Project with Gradle Files」を実行します。
  3. ./gradlew cleanを実行します。
  4. ./gradlew :app:assembleDebug --refresh-dependenciesで依存関係を再取得します。
  5. ./gradlew :app:dependenciesでKotlinライブラリが解決されているか確認します。

注意点

--refresh-dependenciesやGradleキャッシュ削除は、壊れたキャッシュには有効ですが、AGP 9.0.0-rc01本体の不具合を修正するものではありません。rc01を使い続けたままキャッシュ操作だけを繰り返すのは避けてください。

また、AGPを更新するとBuilt-in Kotlin、新DSL、Gradle、KGPの互換性も影響します。更新後に別のエラーが出た場合は、最初のスタックトレースを確認し、依存関係解決の問題とプラグイン互換性の問題を分けて調べます。

まとめ

AGP 9.0.0-rc01でkotlin()関数経由のライブラリを解決できない場合は、公式に修正済みのバージョンへ更新するのが第一選択です。更新までの一時対応として明示的なMaven座標を使えますが、Kotlinのバージョンをプロジェクト全体で揃えてください。

参考:Android Gradle Plugin 9.1 release notes/Android Gradle Plugin 9.0 release notes