作者: Sam (甄峰)
sam_code@hotmail.com
在Android Studio使用中,常会遇到这样那样的问题。 有些与SDK版本有关,
有些与Build-tools版本有关, 还有些和Gradle或Gradle插件版本有关。
现把常见的问题记录如下:
1:
Gradle版本和Gradle插件版本:
Error:(1, 1) A problem occurred evaluating project
':app'.
> Failed to apply plugin [id
'com.android.application']
> Minimum supported
Gradle version is 4.1. Current version is 2.14.1. If using the
gradle wrapper, try editing the distributionUrl in
E:\work\current\Android_Porject\EX07_151\gradle\wrapper\gradle-wrapper.properties
to gradle-4.1-all.zip
要搞清Gradle版本问题,首先要知道一个概念,Gradle版本和Gradle插件版本。
Android
Stuido的Gradle插件版本和Gradle版本有个对应关系。若两者不匹配,就会出现以上问题。
1.0: Gradle:
Gradle是Android的构建工具。负责处理项目依赖,编译,打包,签名等操作。
它通过维护一个build.gradle的脚本对项目进行配置,再更具这个脚本对项目进行构建。
1.0.1:如何查看更新Gradle版本:
查看和更新Gradle, 有两种方式:
A: File -> Project Structure -> Project.
来指定Gradle版本。
B: 在gradle/wrapper/gradle-wrapper.properties中编辑
Gradle的引用地址。
#Thu Mar 29 18:21:21 CST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
1.1:Gradle插件(Android Plugin for Gradle):
从名字上来说, 它是个Android插件,让Gradle可以运行。
1.1.1: 查看和更新Gradle插件:
同样有两种方法:
A: File -> Project Structure -> Project.
来指定Gradle版本。
B: Project的build.gradle中查看和修改:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
1.2:Gradle版本和Gradle插件版本的对应关系:
Plugin version | Required Gradle version |
---|---|
1.0.0 - 1.1.3 | 2.2.1 - 2.3 |
1.2.0 - 1.3.1 | 2.2.1 - 2.9 |
1.5.0 | 2.2.1 - 2.13 |
2.0.0 - 2.1.2 | 2.10 - 2.13 |
2.1.3 - 2.2.3 | 2.14.1+ |
2.3.0+ | 3.3+ |
3.0.0+ | 4.1+ |
3.1.0+ | 4.4+ |
现在回到原始错误处。
plugin [id 'com.android.application'] 插件的版本需要的最低Gradle是 Gradle version is 4.1. 但当前的Gradle版本却是Current version is 2.14.1。 所以建议我们修改gradle-wrapper.properties , 把内容变化为: gradle-4.1-all.zip
两种方法都可以看到问题所在。