补充说明
文中的方法对升级基本是通用的,虽然遇到问题的时候版本是2.3 Canary ,对最新版也是通用的,所以请忽略版本。升级不成功的原因主要是 Android studio 升级的时候 gradle 不能自动升级,需要手动升级。有错误请指出我好及时修改。谢谢。
发现问题,升级出现问题
最近使用Android studio 遇到这个一个问题,目前我的AS(Android studio 缩写)版本为 2.3 Canary ,一天突然提示我 Plugin 版本低了,需要升级,如下图,
项目的build.gradle 使用的插件是 classpath ‘com.android.tools.build:gradle:2.3.0-apha1’,于是就将
apha1 改为了 apha2,然后就好了,本以为没事了, 没有多久又出现了这个问题,我就想着将 apha2 改为 apha3,但是提示访问失败,没有下载成功,项目也不能允许,怎么办,看同事的配置是使用的2.2.0版本的,我又改回去,的确能够使用,但是发现项目编译速度比之前的慢多了,一旦适应了快的速度,稍微慢了就很不习惯。
寻找解决问题的办法
注意,下面很多网址是需要翻墙的
还是想办法解决为什么不能升级 2.3.0-apha3 版本,其实也不确定最新版本是什么,通过查询找到所有的版本 ,地址为 https://jcenter.bintray.com/com/android/tools/build/gradle/ ,现在最新的版本是 2.3.0-beta1 ,改为最新版本,还是提示不能升级。通过谷歌找到说是因为 gradle 的版本低了,关于 gradle 的相关知识可以参考:http://stormzhang.com/android/2016/07/02/gradle-for-android-beginners/
需要弄清楚 gradle 和 Plugin 的关系,看了上面这篇文章就清楚了。上面的问题可能是因为 gradle 的版本低了导致 插件不能升级,通过查看 项目的project / gradle / wrapper / gradle-wrapper.properties 文件中的 distributionUrl 一栏为 https://services.gradle.org/distributions/gradle-2.14.1-all.zip ,通过 gradle 官网 查看最新 的gradle 版本是3.3 ,然后我就将 上面的2.14.1 改为了3.3 ,并且在设置中进行如下设置
将 gradle 升级成功后,使用插件的版本也更新到最新版 2.3.0-beta1,项目就能运行了,速度还是比2.2.0快些。
升级gradle
像上面的方法,让AS自己去下载升级gradle 是最简单的方法,都不需要我们做什么,但是由于墙的问题,下载很慢,大家可以去网上搜索 升级gradle 的方法,这里我也是利用网上的方法,记录下:
官网手动下载gradle
我是利用的迅雷下载,下载是一个压缩包,不需要解压,备用。
AS相关设置
在 project / gradle / wrapper / gradle-wrapper.properties 中设置gralde 版本为我们下载的版本 3.3,然后点击 sync 同步 ,AS就会去自动下载3.3 包,前面说了AS自己下载比较慢,AS下载的gralde 包会放在 C:\Users\Administrator.gradle\wrapper\dists 路径中,可能不同设置下载路径不一样,我看同事电脑都是在这个里面,
点开其中一个,这里点开 3.1 ,出现如下
这里的符号是AS生成的,每个是不一样的(可能是随机生成的),点开这个文件夹,将上面的下载 3.3 包(不要解压)直接放到 这个文件夹中。如果没有发现gradle-x.y-all 文件夹,是因为你的AS设置不对,当设置了上面的 project / gradle / wrapper / gradle-wrapper.properties 中改为3.3后,就会自动生成
gradle-3.3-all 文件夹,打开里面 那个随机命名的文件夹,还会下载其他的东西,我的是如下
下面3个是下载的,其中zip的压缩包就是手动下载的,gradle-3.3 AS自己解压出来的。注意这里我的处理方法,可能有误:我处理的是设置好 project / gradle / wrapper / gradle-wrapper.properties 为3.3后,同步,查看本地路径生成了3.3相关的,这时候我用任务管理器将AS关闭了,不然AS会一直下载,重新打开AS,就会将我的压缩包自动解压,不会去下载了,原因还不知道,反正是成功了。
持续更新
1、2017-01-06 ,注意事项说的不支持 instant run ,提示消息为 This version of Android Studio is incompatible with the Gradle Plugin used. Try disabling Instant Run (or updating either the IDE or the Gradle plugin to the latest version)
大概意思是as的gradle版本不兼容,上面我AS版本是 2.3.0-Canary,而gradle插件版本是 2.3.0-beta1,猜想应该是这个问题,将AS升级到2.3 beta1, instant run 就可以使用了
2、2017-03-03 今天升级到Android studio 2.3 版本,同事也遇到这个问题了,升级的时候提示不能连接不能下载什么的,主要问题还是在 gradle 上,建议使用 迅雷去下载,速度快,下载好后放到相应的路劲下。