gradle版本切换问题

Posted by alonealice on 2016-09-30

最近android studio2.2正式更新,当中有许多新功能对于开发来说都非常有用。我第一时间就更新尝鲜,在体会到它的优点之后,也看到了它的问题。比如,Instant Run虽然能大大加快编译速度,但是它在第一次编译的时候确实太慢了,虽然2.2比之前的版本已经快很多了,但还是比一般情况慢很多;之前我用的是gradle 1.5,但是切换到2.2后编译时出现了大量的报错,整整几百个错误让人不寒而栗,而与其说是错误,不如说是警告,绝大部分还是第三方,虽然不影响正常运行程序,但满屏的红色还是让人很不爽,所以最后我还是切换回1.5。
这个时候问题就出现了,切换回去后gradle编译正常,可是当运行程序时却报错Unsupported method: AndroidProject.getPluginGeneration()。解决这个问题最直接的办法是在切回2.2(–!!!)但是这相当于我们被锁在了最新的版本,这怎么能行!!所以我找了一些资料,发现是因为android studio2.2自动会把Instant Run开启,而当你把gradle版本切回老版时,Instant Run依旧是开启状态,而这时已经不支持这个功能了,所有会报这个错误。所以最终的解决方法是Instant Run关闭。
操作路径:
####Windows & Linux:
File -> Settings -> Build, Execution, Deployment -> Instant Run.
####Mac:
Android Studio -> Preferences -> Build, Execution, Deployment -> Instant Run.

最后再说一句:android studio2.2确实比之前的版本好,Instant Run在绝大多数情况下也确实快和方便,建议大家还是把它开起来吧(我最后还是用回到gradle2.2了)。