先说自己的解决办法:

(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"Fix plugin version and sync project
Open File

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

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.jarRequired 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.Fix Gradle wrapper and re-import project
Gradle settings

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


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

更多相关文章

  1. Android(安卓)targetSdkVersion了解一下
  2. Android整合Maven笔记(一)——在Android项目上启用maven
  3. Android(安卓)O 开发者预览版新特性
  4. Android(安卓)辅助功能(无障碍)自定义开发类似微信抢红包插件
  5. Android程序开发初级教程(一)
  6. Android——填坑android studio2.3.3升级到android studio3.2
  7. Android(安卓)Treble 结构:Part 1 - 介绍
  8. 使用谷歌提供的支持库(Android)
  9. Android(安卓)8.0 学习(4)---Android通用内核

随机推荐

  1. Delta Lake 第一篇论文发布了
  2. 40岁,我还是那个每天加班编程的”老“程序
  3. 我都30岁了,零基础想转行去学编程,靠谱吗?
  4. 学习vue实现双向绑定【附源码下载地址】
  5. 编程题2:一个整数中奇数位和偶数位的打印
  6. JS中的数组,对象,传参,对象中的只读,只写
  7. js 中的数组,对象,传参解构;访问器属性get,se
  8. 数组函数的练习
  9. 搞懂作用域与闭包
  10. Python_学习之基础数据类型