Jenkins调用AdnroidStudio打包时,Gradle版本不一致问题

之前是用的Gradle5.1.1打的安卓包,然后电脑里的环境变量Path里也配置了对应Gradle5.1.1路径,所以在Jenkins里调用脚本命令去打包时一切都是很顺利。

后面Gradle升级到了5.4.1,本地手动出包没问题,电脑的环境变量Path将原来旧的Gradle5.1.1配置路径删掉,再新增Gradle5.4.1的路径,cmd命令一切正常Jenkins调用AdnroidStudio打包时,Gradle版本不一致问题

但是在Jenkins上调用AndroidStudio打包时,却出现了Jenkins调用AdnroidStudio打包时,Gradle版本不一致问题

Jenkins调用AdnroidStudio打包时,Gradle版本不一致问题意思是项目的是5.4.1,但是Jenkins的是5.1.1

查看Job的Environment Variables,发现Path的异常Jenkins调用AdnroidStudio打包时,Gradle版本不一致问题

为保证不是该Job的问题,去到了Jenkins的当前主机节点master下获取环境变量确实如此Jenkins调用AdnroidStudio打包时,Gradle版本不一致问题

 

我之前虽然将电脑的环境变量Path里去掉了旧的5.1.1,但是Jenkins不会去掉旧的,却能更新到我新增的5.4.1,而在Jenkins调用AndroidStudio时,按照顺序先读取了5.1.1的路径版本,导致Jenkins无法调用到最新的5.4.1。目前还找不到哪种办法可以直接修改Jenkins配置里的Path,因此直接去电脑里将5.1.1的指定路径文件删除Jenkins调用AdnroidStudio打包时,Gradle版本不一致问题,重新去Jenkins里发布,在读到5.1.1的环境路径时,由于文件已经被删不存在,会往下继续成功读取到正确的5.4.1Jenkins调用AdnroidStudio打包时,Gradle版本不一致问题

 

至于网上有些说在Jenkins的Configure System里配置GRADLE_USER_HOME环境变量,事实上如果你已经在电脑的环境变量里配置了,就不需要在这里配置了(后面可以试试不在电脑的环境变量李配置,只在Jenkins这里配置或许能随意修改)Jenkins调用AdnroidStudio打包时,Gradle版本不一致问题

 

 

 

补充:啪啪啪刚说完就立马打脸了,这个GRADLE_USER_HOME我原先一直以为没什么大用处,结果一去掉Jenkins就报错了

Jenkins调用AdnroidStudio打包时,Gradle版本不一致问题

根据报错找到解决方案:https://www.jianshu.com/p/7c2f34b5f133,报错原因应该就是gradle目录路径太长了,至于博客作者说的可以直接勾选 Force GRADLE_USER_HOME to use workspace来解决这个没找到,所以GRADLE_USER_HOME这个环境变量还是要加上,然后其实也不用指向那么具体,不论是C:\Users\Administrator\.gradle\wrapper\dists\gradle-5.4.1-all\3221gyojl5jsh0helicew7rwx\gradle-5.4.1\bin,还是C:\Users\Administrator都可以