【我的Android进阶之旅】解决错误:No enum constant com.android.build.gradle.OptionalCompilationStep.FULL_APK-阿里云开发者社区

开发者社区> 安全> 正文

【我的Android进阶之旅】解决错误:No enum constant com.android.build.gradle.OptionalCompilationStep.FULL_APK

简介: 今天在分支编译代码并允许之后,接着同步主干代码之后,再继续点击【Run】按钮允许程序的时候报错了,错误描述日志如下所示: 一、错误描述 Error:(1, 1) A problem occurred evaluating project ':watch'.

今天在分支编译代码并允许之后,接着同步主干代码之后,再继续点击【Run】按钮允许程序的时候报错了,错误描述日志如下所示:

一、错误描述

Error:(1, 1) A problem occurred evaluating project ':watch'.
> Failed to apply plugin [id 'com.android.application']
   > No enum constant com.android.build.gradle.OptionalCompilationStep.FULL_APK

图1、错误截图

这里写图片描述

二、错误分析

原来是我分支开发的时候原来是使用的Android Gradle plugin 版本为2.1.0, Gradle版本为2.10,正常运行,如下所示:

图2、Android Gradle plugin 版本为2.1.0

这里写图片描述

图3、Gradle版本为2.10
这里写图片描述

后来在点击【Sysc】按钮,再同步编译的时候,Android Studio 提示我Android Gradle plugin 版本到2.2.3和Gradle版本到2.14.1,这样就支持【Instant Run】功能。

To take advantage of all the latest features (such as Instant Run), improvements and security fixes, we strongly recommend that you update the Android Gradle plugin to version 2.2.3 and Gradle to version 2.14.1. You can learn more about this version of the plugin from the release notes.

图4、提示升级Android Gradle plugin 版本和Gradle版本
这里写图片描述

好吧,既然提示我升级,那我就升级吧,升级之后的截图如下所示:

图5、Android Gradle plugin 版本为2.2.3
这里写图片描述

图6、Gradle版本为2.14.1
这里写图片描述

ok,也成功运行。然后一段时间后,我打算同步主干代码到我的分支,这个时候把build.gradle文件和gradle-wrapper.properties一起同步下来了。

图7、build.gradle文件对比
这里写图片描述

图8、gradle-wrapper.properties文件对比
这里写图片描述

同步之后,我又把Android Gradle plugin 版本还原为 2.1.0 ,Gradle版本还原为2.10,这个时候我直接点击【Run】按钮运行的时候,就爆了如图1所示的错误,因为此时的【Run】按钮运行的功能包含【Instant Run】功能,但是Android Gradle plugin 版本为 2.1.0不支持该功能。

图9、即将报错
这里写图片描述

图10、报错
这里写图片描述


作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:
http://blog.csdn.net/ouyang_peng/article/details/53812865

这里写图片描述


三、错误解决

点击【Sync】按钮,会弹出如图4提示升级Android Gradle plugin 版本和Gradle版本的对话框

这里写图片描述

1、如果不想用Android Gradle plugin 版本为2.2.3的功能的话,即保持和服务器的Gradle配置一样的话,点击【Remind me later】按钮之后,会重新编译,编译完成后如图2所示,然后直接运行即可。

这里写图片描述

2、如果想用Android Gradle plugin 版本为2.2.3的功能的话,即想用【Instant Run】功能的话,点击【Update】按钮之后,会重新编译,编译完成后如图5所示,然后直接运行即可。

这里写图片描述

总之就是【Instant Run】功能在Android Gradle plugin 版本为2.1.0不支持,要使用的话请升级。如果来回切换Android Gradle plugin版本的话,不要直接点击【Run】按钮运行,先【Sync】重新编译程序之后再运行。


作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:
http://blog.csdn.net/ouyang_peng/article/details/53812865

这里写图片描述

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

云安全开发者的大本营

其他文章