今日打开编译器准备码一番的时候,编译器就报以下错误。开发者应该知道,Android studio的编译依赖于gradle,若你没有设置离线模式的话,它会去连网检测版本更新,有时会提示让你更新gradle版本,今天倒好直接编译失败,以下是报错内容和本机的plugin、gradle版本:
报错如下
Error:(1, 0) The android gradle plugin version 3.0.0-alpha1 is too old, please update to the latest version.
To override this check from the command line please set the ANDROID_DAILY_OVERRIDE environment variable to "a0200edbd9b483472b9099d5d259a15b66c7d19f"
- 1
- 2
- 1
- 2
项目下的 build.gradle 文件
buildscript {
...
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-alpha1'
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
gradle文件夹下的配置文件
distributionBase=GRADLE_USER_HOME
...
distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-milestone-1-all.zip
- 1
- 2
- 3
- 1
- 2
- 3
原因:
从AS报错的内容可知编译器嫌弃我的gradle 插件版本3.0.0-alpha1太老了,需要更新到最新版本。可是以前AS只会温柔的弹出提示框提示更新gradle版本(即使我会拒绝),但是没遇到过因为版本旧而直接编译出错的情况。
其实这有一个隐藏的原因:插件版本号后面跟有 beta / alpha版本有40天的限制,之后android Studio会强制您更新到最新版本。 其实细细回想有道理,beta、alpha一般不是测试版本吗,AS秉着负责的心态所以强制我们更新版本,实在有些贴心呢~
至于报错的后半部分是提供的方法:在Windows上,可以通过添加带有“ANDROID_DAILY_OVERRIDE”和值“8d256f619ba96afd1273947e8b8bebea4cb2fd05”的操作系统(或本地用户)环境变量来修复,然后重启Android Studio。
但是!有些不解,所以还是采取最简单的方法:更新gradle插件版本
(想详细了解以上解说可看stackoverflow
https://stackoverflow.com/questions/44301207/android-plugin-is-too-old-2-4-0-alpha7)
解决方法:
网上大多博客解决方法是指定修改版本,但是版本号总会修改,所以根据官方链接,这里会有最新gradle插件版本提示,所以修改成以下版本再编译即可成功:
plugin插件及最新版本链接:
https://developer.android.com/studio/releases/gradle-plugin.html
(另外,需要更新gradle最新版本可查看以下链接)
gradle各版本下载链接:
http://services.gradle.org/distributions/
希望对你们有帮助 :)
转载:http://blog.csdn.net/itermeng/article/details/73716972