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

构建失败::app:compileDebugKotlin任务执行失败,添加Sceneform依赖后问题仍存

问题根本原因解析

嘿,咱们来拆解下你遇到的这个问题——哪怕更新了Kotlin标准库,添加sceneform-ux:1.0.0还是报错,核心原因主要有这几点:

  • Kotlin版本兼容性冲突:Sceneform 1.0.0是2018年发布的老版本,它默认依赖的是Kotlin 1.2.x系列,而你当前配置的kotlin_version大概率是1.3及以上的新版本。新旧Kotlin版本的标准库API、字节码结构存在差异,导致依赖合并时出现类重复定义或找不到的问题(从你提供的报错图来看,应该是类似Program type already present: kotlin.jvm.internal.Intrinsics这类冲突)。

  • Android支持库与AndroidX的冲突:Sceneform 1.0.0依赖的是传统的Android支持库(比如com.android.support系列),如果你的项目已经迁移到了AndroidX,这两套库的类会出现命名空间冲突,Gradle无法处理这种混合依赖的情况,进而触发报错。

  • 传递依赖的版本不一致:当你引入sceneform-ux:1.0.0时,它会自动拉取自身依赖的旧版Kotlin标准库和支持库,这和你手动添加的kotlin-stdlib-jdk7:$kotlin_version以及项目中的AndroidX依赖产生了冲突,Gradle在合并依赖时无法调和这些版本差异,最终抛出错误。

快速验证方法

你可以执行这条Gradle命令查看完整的依赖树,确认冲突的具体依赖项:

./gradlew app:dependencies

在输出里搜索kotlin-stdlib,就能看到是否存在多个版本的依赖;同时检查是否有com.android.support和androidx开头的库共存。

可行的解决方向

如果必须使用Sceneform 1.0.0,可以试试这几个方案:

  1. 把你的kotlin_version降级到1.2.71(这是Sceneform 1.0.0官方兼容的Kotlin版本)
  2. 如果项目还没迁移到AndroidX,保持使用传统支持库,不要混合AndroidX
  3. 用Gradle的强制依赖策略统一Kotlin版本:
configurations.all {
    resolutionStrategy {
        force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.71"
    }
}

不过更推荐的是升级到Sceneform的新版本(比如1.17.1),这些版本已经适配了AndroidX和较新的Kotlin版本,能从根源上解决这类兼容性问题。

内容的提问来源于stack exchange,提问作者Srikanth104

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:43:00