【问题标题】:Gradle version 2.2 is required. Current version is 2.10需要 Gradle 版本 2.2。当前版本是 2.10
【发布时间】:2016-01-12 16:48:37
【问题描述】:

我正在尝试使用 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() 
   } 
 } 

【问题讨论】:

    标签: android gradle android-gradle-plugin


    【解决方案1】:
    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 1.5.1 是最新的稳定版,但 2.0-beta3 工作正常,它有点快。我已经在使用 AS 1.5 stable 和 Gradle 插件 2.0-beta3
    • @manitaz,请尝试在 Android Studio 中构建您的项目 - 如果可行,请通过终端尝试并比较 - 我的意思是检查两者是否都能正常工作。不作废?好的,又干净又大了
    【解决方案2】:

    当前的解决方法是覆盖VersionCheck:在您的 build.gradle 中

    buildscript {
    
    System.properties['com.android.build.gradle.overrideVersionCheck'] = 'true'
         ...
    }
    

    Check this link for more Details

    【讨论】:

      【解决方案3】:

      只需更改 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
      【解决方案4】:

      基于 https://developer.android.com/studio/releases/gradle-plugin.html ...

      下表列出了 Gradle 的每个版本的 Android 插件所需的 Gradle 版本。 为了获得最佳性能,您应该使用最新版本的 Gradle 和 Android 插件。

      所以,Plugin 版本和所需的 Gradle 版本应该是匹配的。

      【讨论】:

        【解决方案5】:

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

        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,除了必须从假项目的 build.gradle 文件中复制额外的一行 google()
        【解决方案6】:

        使用./gradlew 而不是gradle 来解决此问题。

        【讨论】:

        • 您能具体解释一下吗?
        【解决方案7】:

        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'
            }
        }
        

        最终解决了我的问题。

        【讨论】:

          【解决方案8】:

          我有类似的问题。每个项目都有自己的 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。

          【讨论】:

            猜你喜欢
            • 2015-11-21
            • 2016-12-28
            • 2016-05-11
            • 2019-11-22
            • 2023-04-05
            • 1970-01-01
            • 2020-11-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多