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

KMM多模块项目共享com.apollographql.apollo3 Gradle插件遇报错

解决Apollo3插件在共享Gradle脚本中无法解析的问题

以下是针对你遇到的问题的几种排查和解决方向:

1. 统一管控插件版本或直接声明版本

Gradle的插件解析逻辑要求,要么在plugins块里直接指定版本,要么通过pluginManagement的版本策略预先指定。

方案A:在settings.gradle.kts中统一配置版本

在根目录的settings.gradle.kts里,给Apollo3插件添加版本解析规则:

pluginManagement {
    repositories {
        gradlePluginPortal()
        // 保留你已有的其他仓库配置
    }
    resolutionStrategy {
        eachPlugin {
            if (requested.id.id == "com.apollographql.apollo3") {
                // 替换为你实际使用的Apollo3版本号
                useVersion("4.0.0")
            }
        }
    }
}

方案B:在共享脚本中直接声明版本

修改shared-library.gradle.kts的plugins块,直接指定Apollo3插件的版本:

plugins {
    // 如果是给子模块间接引用,用apply false;如果要直接生效则去掉
    id("com.apollographql.apollo3") version "4.0.0" apply false
    // 你的其他通用插件配置
}

2. 确认自定义共享插件的配置结构

如果你是通过预编译脚本插件(precompiled script plugins)实现的commons.shared-library,需要确保:

  • 共享脚本放在正确的目录:比如gradle/plugins/shared-library.gradle.kts,并在settings.gradle.kts中添加includeBuild("gradle/plugins")
  • 共享脚本中的插件依赖是通过plugins块声明的,而非废弃的buildscript块(buildscript的依赖不会被子模块继承)

3. 清理Gradle缓存并重新同步

缓存异常可能导致插件解析失败,执行以下命令清理后重新同步:

./gradlew clean build --refresh-dependencies

之后在Android Studio中点击「Sync Project with Gradle Files」按钮。

4. 验证插件ID的正确性

确认你使用的Apollo3版本对应的插件ID正确,当前最新版Apollo3的官方插件ID确实是com.apollographql.apollo3,如果是较旧版本,可能需要核对版本对应的插件ID是否有变更。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 10:42:23