必须使用Gradle 2.2版。当前版本是2.10


80

我正在尝试使用gradle build。我说错了

无法应用插件[id'com.android.library']需要Gradle 2.2版。当前版本是2.10。如果使用gradle包装器,请尝试将/home/sanjeewa/workspace/Android/UVCCamera/gradle/wrapper/gradle-wrapper.properties中的distributionUrl编辑为gradle-2.2-all.zip

但是我的gradle-wrapper.properties包含gradle-2.4-all.zip。我将其更改为gradle-2.2-all.zip仍然是同样的问题。

当我在终端中运行gradle -version时,Gradle 2.10显示为版本。

如何解决该错误?

我的构建gradle文件是

 buildscript { 
   repositories { 
       jcenter() 
   } 
   dependencies { 
       classpath 'com.android.tools.build:gradle:1.3.0' 
   } 
 } 

 allprojects { 
   repositories { 
       jcenter() 
   } 
 } 

Answers:


127
  1. 打开 gradle-wrapper.properties
  2. 更改此行:

     distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
    

        distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip
  1. 转到build.gradle(项目:your_app_name)
  2. 更改此行

     classpath 'com.android.tools.build:gradle:XXX'
    

对此

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

要么

     classpath 'com.android.tools.build:gradle:1.5.0'
  1. 不要点击 Sync Now
  2. 从菜单中选择 File -> Invalidate Caches/Restart...
  3. 选择第一个选项: Invalidate and Restart

Android Studio将重新启动。之后,它应该可以正常工作

希望对你有帮助


古玩:为什么是2.0-beta3而不是1.5.0?
dsh

我只是使用终端来构建。我认为没有必要使缓存无效。
manitaz

@dsh1.5.1是最新的稳定版,但是2.0-beta3可以正常工作,但速度更快。我已经使用带有Gradle插件2.0-beta3的AS 1.5稳定版
piotrek1543,2016年

@manitaz,请尝试在Android Studio中构建您的项目-如果可行,然后通过终端进行比较-我的意思是检查两者是否都可以正常工作。不无效吗?好的,很干净,可以再次
拿走


24

只需在build.gradle文件中更改

 classpath 'com.android.tools.build:gradle:1.3.0'

 classpath 'com.android.tools.build:gradle:2.0.0'
  1. 现在GoTo-> menu choose File-> Invalidate Caches/Restart...

  2. 选择第一个选项: Invalidate and Restart

    Android Studio将重新启动。

    之后,它应该可以正常工作。


Android Studio和Gradle版本非常混乱。就我而言,我必须将版本设置为当前最新版本:classpath'com.android.tools.build:gradle:2.1.3'。我的Android Studio版本是:Android Studio 2.2RC
Chen Chen


2

这是我为解决此问题所做的工作:

1)创建一个新项目

2)打开gradle-wrapper.properties文件,然后将distributionUrl复制到您的项目中,例如:

distributionUrl=https\://services.gradle.org/distributions/gradle-3.2-all.zip

3)打开build.gradle(Project)并将gradle依赖项复制到您的项目中,例如:

classpath 'com.android.tools.build:gradle:2.3.0-beta1'

4)文件->使缓存无效/重新启动(我认为重新同步可能已足够,但没有尝试过)

5)删除您所做的项目(可选)

瞧,这是一种愚蠢的做事方式,但是Android Studio是免费的,所以我该向谁抱怨...


这与IntelliJ IDEA 2019.2一起使用,除了google()必须从伪项目的build.gradle文件中复制另一行。
RenniePet


0

android studio和Gradle版本看起来管理起来很差。还有很多版本的功能不足问题。而且错误消息几乎毫无头绪。对于此特定问题。最接近的答案是“ Jitendra Singh”。将版本更改为:

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

但是在我的情况下:Android studio 2.2 RC,我仍然遇到另一个错误:

Could not find matching constructor for: com.android.build.gradle.internal.LibraryTaskManager(org.gradle.api.internal.project.DefaultProject_Decorated, com.android.builder.core.AndroidBuilder, android.databinding.tool.DataBindingBuilder, com.android.build.gradle.LibraryExtension_Decorated, com.android.build.gradle.internal.SdkHandler, com.android.build.gradle.internal.DependencyManager, org.gradle.tooling.provider.model.internal.DefaultToolingModelBuilderRegistry)

所以我去了Maven中央找到最新的com.android.tools.build:gradle版本,目前是2.1.3。所以换成

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.3'
    }
}

最终解决了我的问题。


0

我有类似的问题。每个项目都有自己的gradle文件夹,请检查项目根目录中是否还有另一个gradle文件夹:

/my_projects_root_folder/project/gradle
/my_projects_root_folder/gradle

如果是这样,您将在每个文件夹中找到/gradle/wrapper/gradle-wrapper.properties。

检查/my_projects_root_folder/gradle/gradle-wrapper.properties gradle版本是否至少与/ my_projects_root_folder / project / gradle / gradle-wrapper.properties gradle版本匹配

或者只是删除/重命名您的/ my_projects_root_folder / gradle并重新启动android studio,让Gradle同步工作并下载所需的gradle。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.