Gradle 2.2版是必需的。当前版本是2.10

时间:2016-01-12 16:48:38

标签: android gradle android-gradle

我正在尝试使用gradle构建。它给了我错误的说法

  

无法应用插件[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() 
   } 
 } 

8 个答案:

答案 0 :(得分:122)

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

     distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
    
  3.         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'
      
    3. 到这个

           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
      4. Android Studio会重启。在此之后,它应该正常工作

        希望有所帮助

答案 1 :(得分:40)

当前的解决方法是覆盖版本检查:在build.gradle中

buildscript {

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

Check this link for more Details

答案 2 :(得分: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会重启。

    在此之后,它应该正常工作。

答案 3 :(得分:13)

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

下表列出了Gradle的每个Android插件版本所需的Gradle版本。  为获得最佳性能,您应该使用Gradle和Android插件的最新版本。 [![在此处输入图像说明] [1]] [1]

因此,具有Required Gradle版本的插件版本应该匹配。

enter image description here

答案 4 :(得分:1)

使用./gradlew代替gradle来解决此问题。

答案 5 :(得分:1)

以下是我为解决这个问题所采取的措施:

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是免费的,所以我该抱怨谁...

答案 6 :(得分: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'
    }
}

最终解决了我的问题。

答案 7 :(得分: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版本< / p>

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