You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 10:02:02