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

如何为Bazel添加Firebase Messaging服务依赖?遇仓库解析错误

解决Bazel中gmaven_artifact依赖仓库无法解析的问题

我之前也碰到过类似的依赖解析问题,结合你的配置和报错信息,咱们一步步来排查解决:

1. 先更新过于陈旧的gmaven_rules版本

你当前用的GMAVEN_TAG = "20180513-1"是2018年的版本,这个版本太老了,对新的Android依赖(比如你使用的Firebase Messaging 17.0.0)的解析支持存在兼容性问题。建议替换为较新的稳定版本:

修改WORKSPACE中的标签配置,示例如下:

# Google Maven Repository
GMAVEN_TAG = "v0.4.0"  # 可替换为更近期的稳定版本
http_archive(
    name = "gmaven_rules",
    strip_prefix = "gmaven_rules-%s" % GMAVEN_TAG,
    url = "https://github.com/bazelbuild/gmaven_rules/archive/%s.tar.gz" % GMAVEN_TAG,
)
load("@gmaven_rules//:gmaven.bzl", "gmaven_rules")
gmaven_rules()

2. 明确指定依赖拉取的仓库源

Firebase的依赖需要从Google官方Maven仓库获取,确保gmaven_rules初始化时包含正确的仓库地址:

在WORKSPACE的gmaven_rules()调用中添加仓库配置:

gmaven_rules(
    repositories = [
        "https://maven.google.com",  # Google官方Maven仓库
        "https://repo1.maven.org/maven2",  # Maven中央仓库
    ]
)

3. 优化BUILD文件中gmaven_artifact的写法

你当前的写法格式没问题,但可以改用更清晰的参数形式,避免解析歧义:

gmaven_artifact(
    group = "com.google.firebase",
    artifact = "firebase-messaging",
    version = "17.0.0",
    packaging = "aar",
)

4. 清理缓存后重新构建

旧的构建缓存可能导致解析异常,执行以下命令清理后再重新构建:

bazel clean --expunge
bazel build //Androidapp:androidapp

如果以上步骤仍未解决问题,可以检查网络是否能正常访问Google Maven仓库;若网络受限,可将仓库地址替换为国内的Maven镜像源(比如阿里云镜像)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:06:53