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

如何解决依赖中同名不同实现的com.google.api.Advice类冲突

Firebase与Google Cloud KMS依赖冲突:Duplicate class com.google.api.Advice

此前未在任何地方找到该问题的解决方案。项目的build.gradle(:app)中原本包含以下依赖:

...
implementation platform('com.google.firebase:firebase-bom:30.4.1')
implementation 'com.google.firebase:firebase-auth'
implementation 'com.google.firebase:firebase-storage'
implementation 'com.google.firebase:firebase-firestore'
...

添加以下依赖后:

implementation platform('com.google.cloud:libraries-bom:26.1.1')
implementation 'com.google.cloud:google-cloud-kms'

重新构建项目时出现错误:

Duplicate class com.google.api.Advice found in modules
jetified-proto-google-common-protos-2.9.2
(com.google.api.grpc:proto-google-common-protos:2.9.2) and
jetified-protolite-well-known-types-18.0.0-runtime
(com.google.firebase:protolite-well-known-types:18.0.0)

我发现com.google.api.Advice是两个包名相同但实现完全不同的类:

Gradle: com.google.firebase:protolite-well-known-types:18.0.0@aar

package com.google.api;

import ...

public final class Advice extends GeneratedMessageLite<Advice, Advice.Builder> 
    implements AdviceOrBuilder {
    ...
}

Gradle: com.google.api.grpc:proto-google-common-protos:2.9.2

package com.google.api;
        
public final class Advice extends com.google.protobuf.GeneratedMessageV3
                implements AdviceOrBuilder {
    ...
}

由于二者均影响应用功能,无法直接使用exclude排除其中任何一个类,否则会导致应用部分功能丢失。我需要保留这两个类,该如何处理?或者我对问题的定位是否有误?


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 13:15:31