Jenkins编译失败Minimum supported Gradle version is 2.14.1. Current version is 2.8.

3 篇文章 0 订阅
2 篇文章 0 订阅

初入职场,会踩许多坑,出现这个错误也是其中一个坑,我刚刚亲身经历过,具体的、完整的解决过程不太记得了,但大体方向还记得!

Android Studio升级之后,代码上传,结果jenkins编译出错,错误大致意思是gradle 2.8版本编译不支持,需要更高的gradle  2.14版本,Jekins编译错误如下:


Caused by: org.gradle.api.GradleException: Minimum supported Gradle version is 2.14.1. Current version is 2.8. If using the gradle wrapper, try editing the distributionUrl in /var/lib/jenkins/project/VideoPlayer_Phone/gradle/wrapper/gradle-wrapper.properties to gradle-2.14.1-all.zip
	at com.android.build.gradle.internal.ExtraModelInfo.handleIssue(ExtraModelInfo.java:119)
	at com.android.builder.core.ErrorReporter.handleSyncError(ErrorReporter.java:80)
	at com.android.build.gradle.BasePlugin.checkGradleVersion(BasePlugin.java:636)
	at com.android.build.gradle.BasePlugin.configureProject(BasePlugin.java:369)
	at com.android.build.gradle.BasePlugin$1.call(BasePlugin.java:338)
	at com.android.build.gradle.BasePlugin$1.call(BasePlugin.java:335)
	at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:156)
	at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:120)
	at com.android.build.gradle.BasePlugin.apply(BasePlugin.java:334)
	at com.android.build.gradle.AppPlugin.apply(AppPlugin.java:75)
	at com.android.build.gradle.AppPlugin.apply(AppPlugin.java:41)
	at org.gradle.api.internal.plugins.ImperativeOnlyPluginApplicator.applyImperative(ImperativeOnlyPluginApplicator.java:35)
	at org.gradle.api.internal.plugins.RuleBasedPluginApplicator.applyImperative(RuleBasedPluginApplicator.java:44)
	at org.gradle.api.internal.plugins.DefaultPluginManager.doApply(DefaultPluginManager.java:144)
	... 58 more


BUILD FAILED

Total time: 28.403 secs
Build step 'Invoke Gradle script' changed build result to FAILURE
Build step 'Invoke Gradle script' marked build as failure
Finished: FAILURE

首先大家都知道Git仓库代码和Jenkins编译之间的关系是:在本地修改代码之后,将代码上传到git仓库,jenkins编译时从git仓库中取最新的代码进行编译,但是本地配置和jenkins的配置没有强关联,需要各自独立配置,本地Android Studio和Gradle版本升级之后会改变本地配置,如果在上传代码的过程中将这些配置信息也上传上去的话,就会导致编译错误,jenkins配置必须与git仓库代码中的配置是一致的!


解决方案有两个,一个是改变jenkins上面的配置,一个是改变git仓库代码中的配置文件!


方案一:

升级之后的Gradle版本为2.14.1,你可以改变jenkis配置,打开jenkins上的项目-->配置




打开之后,找到gradle版本配置选项:




如果有gradle 2.14.1这个配置选项就更改为这个版本,如果公司没有更新最新的gradle的话,就不会有这个版本选项,那就只能更改Git仓库中的gradle配置信息了!

方案二:

第一步:打开项目文件




第二步,在项目文件中打开git,找出你gradle版本升级之前最后一次提交的代码版本,回退到该版本,大概步骤是:是用gitk --all命令打开视图界面,查看历史修改记录,找到gradle版本修改的地方:



找到之后,记住commit信息,打开git命令行操作,输入git log,利用如下版本回退语句:

git reset --hard HEAD^            回退到上一个版本

git reset --hard HEAD^^          回退到前两个版本

git reset --hard HEAD~100    回退到前一百个版本

进行回退,回退之后,在桌面clone最新的代码,这时clone下来的代码gradle配置就是与jenkins上面的配置一致了,利用BeyondCompare文件对比工具,对比本地代码与clone下来的代码,将除去配置信息之外的其他代码修改全部同步到clone下来的代码中去,具体哪些需要同步,哪些不需要同步,不确定的最好问一问经验丰富的老员工,再次上传git仓库,jenkins编译,此时jenkins从仓库中取得的代码配置就与jenkins配置一致了,为Gradl  2 .8版本,此时编译就能Success!你就可以开开心心地去FTP上取编译生成的APK了!


后记:接手一个新项目,clone下来代码之后,不要去动这份代码,copy一份到你的工作空间,用AS打开项目,每个人的本地Android Studio和Gradle都不一样,当有代码修改需要上传代码时,利用BeyondCompare对比这两份代码,千万不要上传Gradle配置文件或其他一些诸如.git、.build、.ide、.gradle文件,基本上只需要上传你修改的资源文件(布局文件)、class文件(.java文件)、AndroidManifest文件等,这样就能保证git仓库的代码配置始终与jenkins上面的配置一致,保证编译的正常进行!


这篇博客写的比较仓促,有表达不清或者不对的地方,由于本人接触android开发时间也并不长,敬请见谅!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

却染人间愁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值