KMP项目中Jetpack Navigation SafeArgs在Android Studio Koala的识别问题
插件正确配置方式
- 顶级
build.gradle的buildscript块中添加插件依赖:buildscript { dependencies { classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.7.7" // 替换为项目使用的Navigation版本 } } - 在Android应用模块的
build.gradle中应用插件:
注:KMP的shared模块无需配置该插件,仅Android端需要。apply plugin: "androidx.navigation.safeargs"
解决Android Studio识别异常
彻底清理缓存并重启:
执行File → Invalidate Caches...,勾选Clear file system cache and local history,点击Invalidate and Restart。单纯重启AS无法彻底清除Gradle与IDE的缓存冲突,这一步能解决同步后识别丢失的问题。手动标记生成目录为源码根:
在Project视图中找到build/generated/source/navigation-args/flavor目录,右键选择Mark Directory as → Generated Sources Root。标记后AS会持久化识别该目录,避免同步Gradle后重置。移除手动添加的sourceSets配置:
手动修改sourceSets会与SafeArgs插件的自动配置冲突,建议删除相关自定义配置,让插件自行管理生成目录。核对版本兼容性:
确保SafeArgs插件版本与项目中navigation-fragment、navigation-ui的版本完全一致,且适配Android Studio Koala对应的AGP版本(8.4.x系列)。版本不匹配是IDE识别异常的常见原因。
KMP适配说明
SafeArgs插件完全适配KMP项目,但仅作用于项目中的Android应用模块,shared模块无需配置。你的项目能正常编译运行说明插件功能正常,问题仅出在IDE的缓存与目录识别层面。
内容的提问来源于stack exchange,提问作者Suau
相关产品推荐
相关产品推荐

