最近遇到一系列gradle版本相关的问题,刚开始让我受了很多折磨,后来都 一 一找到解决办法及一些原因:
一。查看Android Studio的Gradle、Gradle插件的版本
-
点击菜单“File”-“Project Structure...”,如图
-
在弹出的Project Structure对话框中的左侧,选择Project,如图:
-
在对话框的右侧可以看到Gradle的版本及Gradle插件的版本,如图:
-
可以看到,Gradle的版本是2.2.1,Gradle插件的版本是1.3.0.
二。
Android studio 升级2.2 之后 Maven插件不能使用解决
compile报下面的错误
Error:(2, 0) No service of type Factory<LoggingManagerInternal> available in ProjectScopeServices.
点击open file 会跳转到apply plugin: 'com.github.dcendents.android-maven'
这行。
解决方案更新maven-plugin的依赖
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
到jcenter查看最新版本android-maven-gradle
Error:Minimum supported Gradle version is 2.14.1. Current version is 12.10. If using the gradle wrapper, try editing the distributuinUrl in 项目路径\gradle\wrapper\gradle-wrapper.properties to gradle-2.14.1-all.zip.
有句话说的好,一朝被蛇咬,十年怕井绳,所以今天有时间我把问题分析了一下:主管刚升级了AndroidStudio,所以他的gradle的插件版本升级到2.2.0,gradle的版本升级到2.14.1.gradle插件版本和gradle版本如下红色字段所示:
//project下的build.gradle文件
uildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
//项目名/gradle/wrapper/gradle-wrapper.properties
#Mon Dec 28 10:00:20 PST 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
但是我没有更新AndroidStudio,我的gradle插件版本还停留在2.1.0版本,gradle版本还停留在2.10.如上面所示。主管在向svn上提交代码的时候连着项目的build.gralde文件一起提交了,这样我的gradle插件变成2.2.0版本,但是我的gradle版本还停留在2.10,那么就出现了上面的问题。但是gradle插件版本和gradle版本有什么必然的联系吗?问了好多人都说没有一点关系。但是为什么会报:Minimum supported Gradle version is 2.14.1的错误呢?带着疑问我去查了下gradle插件各版本的说明,网址是:http://tools.android.com/tech-docs/new-build-system,还是发现了一点关系:
是的,gradle插件版本2.2.0要求gradle版本至少为2.14.1。