Jenkins+Gradle构建卡在app:processReleaseAGCPlugin任务问题咨询
构建卡在app:processReleaseAGCPlugin问题原因及解决方案
根因定位
- AGC插件版本与现有构建环境不兼容:AGP 4.2.2版本与1.6.0及以上版本的AGC插件存在已知适配缺陷,容易出现执行无响应问题
- 网络请求阻塞:processReleaseAGCPlugin步骤默认需要拉取华为AGC云端配置,Jenkins构建节点无法访问AGC服务、代理规则异常时会触发无限等待
- 本地缓存损坏:构建节点存储的AGC临时缓存文件损坏,会导致插件读取时出现死循环
- 配置校验阻塞:项目缺失agconnect-services.json文件、或文件内包名/签名配置与实际构建配置不匹配时,插件校验环节会出现无日志阻塞
- 多任务执行冲突:开启Gradle并行构建、配置缓存时,AGC插件与Android原生构建任务的执行顺序冲突会导致卡住
解决方案
1. 适配AGC插件版本
针对当前AGP 4.2.2 + Gradle 6.7.1的环境,固定使用1.5.2.300版本的AGC插件,该版本对4.x系列AGP适配最稳定。修改项目根目录build.gradle的依赖配置:
dependencies { classpath 'com.huawei.agconnect:agcp:1.5.2.300' }
2. 排查网络配置
首先验证Jenkins构建节点的AGC服务连通性,如果节点配置了代理,在gradle.properties中添加AGC服务直连规则:
systemProp.gradle.nonProxyHosts=*.huawei.com|*.myhuaweicloud.com
如果构建环境为离线环境,直接关闭AGC插件的网络请求开关,在app模块build.gradle中添加配置:
agc { enableNetwork = false }
3. 清理无效缓存
在Jenkins构建任务中添加前置清理步骤,执行以下命令删除AGC相关缓存:
rm -rf ~/.agc rm -rf ${WORKSPACE}/app/build/tmp/agc
每次构建前先执行./gradlew clean清理构建目录。
4. 校验AGC配置文件
确认app模块根目录下存在agconnect-services.json文件,且文件内package_name字段与应用的applicationId完全一致,release构建使用的签名SHA256指纹与AGC后台配置的指纹信息匹配。
5. 调整Gradle构建参数
临时关闭并行构建和配置缓存验证问题,在gradle.properties中修改以下配置:
org.gradle.parallel=false org.gradle.configuration-cache=false
内容的提问来源于stack exchange,提问作者guanzhirui
相关产品推荐
相关产品推荐

