CatHand Blog

アプリ開発やMac弄り

Navigation ComposeとSafe Argsを同時に使うとビルドエラーになる

buildscript {
    dependencies {
        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.5"
    }
}
plugins {
    id 'androidx.navigation.safeargs.kotlin'
}

の環境で

dependencies {
    implementation "androidx.navigation:navigation-compose:2.4.0-alpha10"
}

も入れていると、生成された xxxDirections.kt でビルド時に

Class 'xxx' is not abstract and does not implement abstract member public abstract val actionId: Int defined in androidx.navigation.NavDirections

のようなエラーになります。

plugins {
    id 'androidx.navigation.safeargs.kotlin'
}

plugins {
    id 'androidx.navigation.safeargs'
}

にするか、

dependencies {
    implementation "androidx.navigation:navigation-compose:2.4.0-alpha10"
}

を削除すると通るようになります。