您的位置:首页 > 产品设计 > UI/UE

Android Studio 中遇到的Gradle build插件版本太低的问题:Plugin is too old

2016-03-04 10:02 681 查看
先说自己的解决办法:

(Gradle分两个,一个是本地构建用的构建工具,另一个是Android Studio中的插件,用来调用本地的工具,这里说的是插件)

一、先看看自己的gradle插件版本,项目的build.gradle中gradle:后面为版本号,例:

classpath 'com.android.tools.build:gradle:2.0.0-beta7'


二、在这个网址中找到更高级别的版本号,替换原来的版本号
https://jcenter.bintray.com/com/android/tools/build/gradle/
三、点击Sync Now就会自动下载更新版本

但对于国内来说自动更新貌似有些困难,于是镜像就不可避免了,参考下面网址:
http://www.androiddevtools.cn/ 中的腾讯镜像使用方法 http://android-mirror.bugly.qq.com:8080/include/usage.html
我自己的AS出现Plugin is too old的原因:

1、升级了Android Studio

2、升级了SDK

---------------------------------------------------------------------------

这几天还用的好好的Android Studio突然昨天(2016年3月3日)报错提示BUILD FAILED Plugin is too old

Error:(1, 0) Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to "bd8994644a28e456358162533e01319cc08f4ef8"
<a href="fixGradleElements">Fix plugin version and sync project</a><br><a href="openFile:D:\AndroidStudioProjects\AppTest\app\build.gradle">Open File</a>



而当时查看我的插件版本是

classpath 'com.android.tools.build:gradle:2.0.0-alpha7'




网上找了好几种方法都不管用,包括将插件版本提高到2.10或2.+、降低版本为1.2.3、clean后rebuild然后重启、Gradle换成本地等等

后来找到一种方法:升级Android Studio到最新版。于是下载2.0 Beta 6,成功运行,但还是没有明白原因,因为提示错误是插件太旧,那跟AS版本又有什么关系呢?

今天,打开AS运行的时候又报错提示BUILD FAILED,一看还是同昨天一样的问题,我的天哪,瞬间感觉济南的冬天又回来了,今天可是有23度啊。没办法,只好把昨天的坑填上了,这次没办法靠升级AS解决问题了,但从网上搜到的都是和昨天差不多的方法,也有很多Stack Overflow上问同样问题的给的答案只能看懂一部分,那就只好自己分析解决了。

根据提示,是Gradle plugin版本太低的原因。Gradle有两个,一个是本地Gradle,一个是Android Studio中的Gradle plugin也就是AS中的插件。

Gradle plugin版本太低,也就是上图第二行的2.0.0-alpha7这个版本太低了,那就需要换个更高的版本。网上能查到的方法就是下载更高版本的插件放到C:\Users\Administrator\.gradle\wrapper\dists\gradle-2.10-all\a4w5fzrkeut1ox71xslb49gst文件夹中,我去找了,文件都在,如图





但不论我把插件版本换成这三个中的哪一个都会出现以下问题

Error:Could not find com.android.tools.build:gradle:2.10.
Searched in the following locations:
file:/D:/Android/android-studio/gradle/m2repository/com/android/tools/build/gradle/2.10/gradle-2.10.pom
file:/D:/Android/android-studio/gradle/m2repository/com/android/tools/build/gradle/2.10/gradle-2.10.jar https://jcenter.bintray.com/com/android/tools/build/gradle/2.10/gradle-2.10.pom https://jcenter.bintray.com/com/android/tools/build/gradle/2.10/gradle-2.10.jar
Required by:
:AppTest:unspecified
找不到,它竟然说找不到,但是明明都在的啊。于是我发现了一个问题:2.0.0-alpha7不在,可是我以前都是用2.0.0-alpha7的,也就是说路径不对。

这时万能的Everything出场了



然后我进入路径发现了这个



于是,一切都明白了,解决方法就是把Gradle插件版本换成2.0.0-beta6就可以了

classpath 'com.android.tools.build:gradle:2.0.0-beta6'

PS:换成1.2.3会报这个错

Error:Gradle version 2.2 is required. Current version is 2.10. If using the gradle wrapper, try editing the distributionUrl in D:\AndroidStudioProjects\AppTest\gradle\wrapper\gradle-wrapper.properties to gradle-2.2-all.zip.

Please fix the project's Gradle settings.
<a href="fixGradleVersionInWrapper">Fix Gradle wrapper and re-import project</a><br><a href="openGradleSettings">Gradle settings</a>

也就是说需要Gradle2.2版本,我现在的版本是2.10(读二点十,不知道Gradle团队怎么想的)版本比它高(现在看来如果你用的还是Gradle2.2之前的版本那么之前改成1.2.3的方法在某些情况下是管用的)。

总结:如果出现了版本太低的错误,用Everything或其他文件查找工具找到你现在在用的版本的位置,然后里面应该有更高版本等着你替换。当然现在我也不甚懂为什么是这个路径,或许又为以后留了个坑,希望知道的大神留言解惑。如果本文有写的不对的地方欢迎指正,多谢。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: