Android Studio使用SafeArgs引发构建失败:重复类错误
解决SafeArgs配置后重复类构建错误的方案
1. 匹配SafeArgs与AGP版本兼容性
Android Studio Dolphin对应AGP版本为7.3.1,务必保证SafeArgs插件版本和AGP匹配:
- 若项目采用新结构(
settings.gradle管理插件):
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } plugins { id "androidx.navigation.safeargs.kotlin" version "2.5.3" apply false // 2.5.x系列适配AGP 7.3.x,可根据AGP版本微调 } }
模块级build.gradle启用插件:
plugins { id 'com.android.application' id 'kotlin-android' id 'androidx.navigation.safeargs.kotlin' }
- 若用旧结构(项目级
build.gradle):
buildscript { dependencies { classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.5.3" } }
2. 排除冲突依赖
重复类问题多源于依赖库冲突,可在模块级build.gradle中针对性排除:
- 局部排除冲突模块:
dependencies { implementation("androidx.navigation:navigation-fragment-ktx:2.5.3") { exclude group: 'javax.activation', module: 'activation' } implementation("androidx.navigation:navigation-ui-ktx:2.5.3") { exclude group: 'javax.activation', module: 'activation' } implementation("androidx.navigation:navigation-safe-args-runtime-ktx:2.5.3") { exclude group: 'org.xmlpull', module: 'xmlpull' } }
- 全局批量排除:
android { configurations { all { exclude group: 'javax.activation', module: 'activation' exclude group: 'org.xmlpull', module: 'xmlpull' } } }
3. 清理缓存后重构
- 执行
File > Invalidate Caches... > Invalidate and Restart重启IDE - 删除项目根目录的
.gradle、build文件夹,以及模块下的build文件夹 - 重新同步Gradle并执行全量构建
4. 配置合规的Java版本
Android Studio Dolphin推荐使用Java 11,在模块级build.gradle中添加:
android { compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = '11' } }
内容的提问来源于stack exchange,提问作者JolonB
相关产品推荐
相关产品推荐

