React Native Android Azure构建随机失败 Bintray资源下载报502错误
问题根因
Bintray平台早在2021年就已正式停止服务,https://dl.bintray.com/microsoftazuremobile/SDK/属于已经下线的旧仓库,近期微软侧彻底关停了该仓库的剩余服务节点,导致拉取依赖时出现随机502错误。你项目中需要的华为HMS update依赖实际并不在该微软仓库中,是Gradle遍历仓库顺序时优先走了这个失效源才触发报错。
修复方案
调整Gradle仓库配置
打开项目根目录下的android/build.gradle文件,找到allprojects -> repositories配置块:- 注释或删除
maven { url "https://dl.bintray.com/microsoftazuremobile/SDK/" }这行配置 - 新增华为官方HMS仓库,且放在仓库列表的靠前位置,优先从官方源拉取HMS相关依赖:
maven { url 'https://developer.huawei.com/repo/' }- 保留
mavenCentral()、google()等公共官方源即可,目前微软已将所有Azure移动SDK相关包同步到Maven Central,不需要额外配置私有源。
- 注释或删除
配置Azure Pipeline依赖缓存
在Pipeline配置文件中添加Gradle缓存规则,将已经下载过的依赖缓存在Azure的构建节点中,避免每次构建都重复拉取远程依赖,降低源不稳定带来的构建失败概率:
可使用官方Cache任务缓存.gradle目录,缓存key设置为项目gradle文件的哈希值,只要依赖不改动就可以复用缓存。兜底本地依赖方案
如果调整仓库后仍有偶发问题,可以直接将对应版本的update-2.0.6.302.aar和pom文件下载到项目的android/app/libs目录,在build.gradle中配置flatDir源直接从本地加载该依赖,完全不依赖远程源。
内容的提问来源于stack exchange,提问作者Amit
相关产品推荐
相关产品推荐

