Webエンジニアのメモ帳

技術的な話を中心に書いています。

【Android】SafeArgsをbuild.gradleに追加すると「safeargs plugin must be used with android plugin」のエラーが発生

発生したエラー

SafeArgsを使おうと思いbuild.gradleを以下の通り修正しました。

plugins {
    // 以下を追記
    id 'androidx.navigation.safeargs.kotlin'
    // 以下はすでに記述されている
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-kapt'
    id 'org.jetbrains.kotlin.android'
}

すると、以下のようなエラーが発生するようになりました。

Build file '{アプリのパス}/app/build.gradle' line: 2

An exception occurred applying plugin request [id: 'androidx.navigation.safeargs.kotlin']
> Failed to apply plugin 'androidx.navigation.safeargs.kotlin'.
   > safeargs plugin must be used with android plugin

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

# 以下、例外の詳細が表示される。長いので省略

解決方法

build.gradleでpluginを読み込む順番を修正します。

plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-kapt'
    id 'org.jetbrains.kotlin.android'
    // 以下の順番を変更
    id 'androidx.navigation.safeargs.kotlin'
}

これで動くようになりました。

※ 参考

stackoverflow.com