JFrog Xray无法扫描Gradle构建的APK问题排查求助
排查思路
1. 确认APK与构建记录的关联关系
- 检查Jenkins流水线中上传APK到Artifactory的步骤,是否传入了与扫描配置一致的
buildName和buildNumber参数,Xray构建扫描的范围是该构建编号下关联的所有产物与依赖,若APK未绑定到对应构建记录,扫描不会覆盖该文件 - 登录JFrog平台,进入「Artifactory」→「Builds」模块,找到对应名称和编号的构建记录,查看「Produced Artifacts」标签页是否存在目标APK文件
2. 校验Xray索引与策略配置
- 确认存储APK的Artifactory仓库已加入Xray的索引资源列表,未被索引的仓库内文件不会被Xray扫描
- 检查Xray的安全策略配置,确认规则覆盖了二进制文件格式,且漏洞级别阈值、许可证违规规则已开启对Android组件的匹配,部分默认策略可能未配置APK格式的扫描规则
3. 手动触发APK扫描验证
直接在Artifactory的文件列表中找到上传的APK,进入文件详情的「Xray」标签页,手动触发单次扫描:
- 若手动扫描也无结果,说明Xray未识别APK内部的组件,需检查是否开启了Xray的二进制深度扫描功能,Android APK需要开启深度解压扫描才能识别内部的aar、jar、so等依赖组件
- 若手动扫描有结果,说明构建扫描的关联逻辑存在异常,可检查Jenkins JFrog插件版本,升级到最新稳定版后重试,部分旧版本插件存在构建产物关联不全的已知问题
4. 核对Gradle构建信息上报配置
对比可正常返回结果的Maven项目配置,确认Gradle构建步骤中使用了JFrog Gradle集成能力上报构建依赖信息,若仅上传APK未上报构建依赖,部分依赖相关的告警不会在构建扫描结果中返回
临时规避方案
若排查后确认构建扫描逻辑存在兼容问题,可在Jenkins流水线中新增单独的APK扫描步骤,调用jf xr scan命令直接对上传的APK路径执行扫描,根据返回结果判断是否中断构建。
内容的提问来源于stack exchange,提问作者shiva
相关产品推荐
相关产品推荐

