Android项目同步失败:无法找到gradle-bintray-plugin:1.8.5依赖
解决Gradle无法同步com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.5的问题
核心原因
com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.5 最初托管在JCenter,而JCenter已停止服务且不再维护,新环境未添加对应仓库,导致拉取不到依赖。另外需要注意:allprojects下的仓库是给模块依赖用的,构建脚本的依赖(也就是classpath里的插件)需要在buildscript块的仓库中配置,这可能是你之前忽略的关键点。
可行解决方案
方案1:添加JFrog官方仓库到构建脚本配置
在根项目的build.gradle中,给buildscript块添加JFrog专属仓库:
buildscript { repositories { google() mavenCentral() // 添加JFrog仓库用于拉取bintray插件 maven { url "https://jfrog.bintray.com/jfrog" } } dependencies { classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.5' classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.21.0" } } allprojects { repositories { google() mavenCentral() maven { url "https://jitpack.io" } } }
方案2:替换为JFrog官方维护的新插件
原bintray插件已停止更新,JFrog推出了适配高版本Gradle的jfrog-gradle-plugin替代它,步骤如下:
- 根build.gradle中移除旧插件,添加新插件依赖:
buildscript { repositories { google() mavenCentral() } dependencies { // 移除旧插件:classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.5' // 添加兼容Gradle7.x的最新版本插件 classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.28.1" } }
- 在模块的build.gradle中应用新插件,替换原有的bintray配置:
plugins { id 'com.jfrog.artifactory' }
之后按照新插件的逻辑调整发布相关配置即可。
方案3:手动导入依赖到本地仓库
如果网络访问仓库仍有问题,可以手动下载com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.5的jar包,放到本地Maven仓库路径(比如Windows下的C:\Users\[你的用户名]\.m2\repository\com\jfrog\bintray\gradle\gradle-bintray-plugin\1.8.5\),再同步项目。
额外检查点
- 确认新笔记本能正常访问JFrog仓库:在浏览器打开
https://jfrog.bintray.com/jfrog/com/jfrog/bintray/gradle/gradle-bintray-plugin/1.8.5/,看是否能加载页面。 - 检查Gradle代理配置:打开项目的
gradle.properties文件,若存在systemProp.http.proxyHost这类代理配置,不需要的话直接注释掉。
内容的提问来源于stack exchange,提问作者Farhan Khan
相关产品推荐
相关产品推荐

