使用Android Studio创建Kotlin多平台项目失败求助
解决Gradle生成类重复定义报错(RootProjectAccessor.getFAME2()重复)
以下是针对该问题的具体修复方案,按顺序尝试:
1. 清理Gradle缓存
- 执行终端命令清理本地Gradle缓存:
rm -rf ~/.gradle/caches - 回到Android Studio,点击菜单栏
File → Invalidate Caches...,勾选Clear file system cache and local history后点击Invalidate and Restart
2. 校验Gradle与Kotlin多平台插件版本兼容性
- 打开项目根目录的
settings.gradle.kts(或settings.gradle),确保Kotlin插件版本与Gradle版本匹配,例如:- Gradle 8.5+ 搭配 Kotlin 1.9.20+
- 若使用旧版Gradle,需对应降低Kotlin插件版本到兼容范围
- 检查项目级
build.gradle.kts,确保无重复引入KMP插件:plugins { id("com.android.application") version "8.2.2" apply false id("org.jetbrains.kotlin.android") version "1.9.20" apply false id("org.jetbrains.kotlin.multiplatform") version "1.9.20" apply false }
3. 删除自动生成的Gradle访问器文件
- 执行终端命令删除项目内的Gradle访问器目录:
rm -rf ./your-project/.gradle/accessors - 重新执行编译命令:
./gradlew clean build
4. 排查重复依赖声明
- 若使用版本目录文件
libs.versions.toml,检查是否存在重复的FAME2相关依赖别名或版本定义 - 若未使用版本目录,检查项目级和模块级
build.gradle文件,确保无重复引入同一依赖的不同版本
5. 调整Android Studio版本
- 若以上方法无效,切换到Android Studio稳定版(如Giraffe或Hedgehog稳定版),避免使用Canary预览版,减少插件兼容性问题
用户提供的完整报错日志片段:
org.gradle.api.internal.catalog.GeneratedClassCompilationException: Failed to compile generated class org.gradle.accessors.dm.RootProjectAccessor ... error: method getFAME2() is already defined in class RootProjectAccessor public Provider<MinimalExternalModuleDependency> getFAME2() { ^
用户提供的环境信息:
- MacOS Sonoma 14.x
- Android Studio Hedgehog/Ijdea 2023.1.1
- Kotlin Multiplatform Plugin 1.9.20
- Gradle 8.2.2
内容的提问来源于stack exchange,提问作者user108810
相关产品推荐
相关产品推荐

