Jenkins Android打包 Could not resolve com.android.tools.build:gradle:3.4.2排错

最近Jenkins上配置一个新的流水线,打包时一直无法连接到google的服务器,无法获取gradle相关配置等如标题的错误


image.png

因为我直接点击链接是可以下载相关pom文件的,也就是我是可以连接到这些服务器的

于是我作了如下努尝试

Jenkins代理

因为我司网络需求配置代码才能访问网络,所以我首先想到的是代理没设置成功,访问不到相应的ip。
我在Jenkins的
管理Jenkins--插件管理--高级设置中配置了相应的代理


image.png

重新运行还是报一样的错误

直接在打包机上用Android studio打开此工程

在Android studio ---setting--proxy中也设置了相应代理,然后Terminal输入相同的打包指令
竟然跟Jenkins报一模一样的错误
然后我想是不是gradle走的是其它的代理,于是网上查了下好像真的是这样

配置gradle代理

在Jenkins/workspace/XXX Android项目代码的中找到gradle.properties
在其末尾加上如下代理
systemProp.http.proxyHost=host //这里的host替换成你的代理ip
systemProp.https.proxyPort=port //这里的port换成代理端口
systemProp.https.proxyHost=host
systemProp.http.proxyPort=port
systemProp.http.nonProxyHosts=10...;. //这里是你不希望走代理的ip http
systemProp.https.nonProxyHosts=10...*; //这里是你不希望走代理的ip https

然后再次输入gradlew 指令编译,成功了

然后让开发去帮忙把代理加上传到git仓库,你的jenkins就也可以成功打包喽

当然如果你通过本地Android studio成功把所有需要的资源都已经拉下来了,那就算不加代理,jenkins上也能打包成功,但是避免以后出现的话最好是改代码传到Git仓库

你可能感兴趣的:(Jenkins Android打包 Could not resolve com.android.tools.build:gradle:3.4.2排错)