簡體   English   中英

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

[英]Gradle version 2.2 is required. Current version is 2.10

我正在嘗試使用 gradle 構建。 它給我錯誤的說法

無法應用插件 [id 'com.android.library'] 需要 Gradle 版本 2.2。 當前版本是 2.10。 如果使用 gradle wrapper,請嘗試將 /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() 
   } 
 } 
  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 將重新啟動。 在此之后,它應該可以正常工作

希望有幫助

當前的解決方法是覆蓋版本檢查:在您的 build.gradle 中

buildscript {

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

檢查此鏈接以獲取更多詳細信息

只需更改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 將重新啟動。

    在此之后,它應該可以正常工作。

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

下表列出了 Gradle 的每個版本的 Android 插件所需的 Gradle 版本。 為了獲得最佳性能,您應該使用最新版本的 Gradle 和 Android 插件。

因此,插件版本與必需的 Gradle 版本應該匹配。

在此處輸入圖像描述

這是我為解決此問題所做的工作:

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) File --> Invalidate Caches / Restart (我認為重新同步可能就足夠了,但沒試過)

5)刪除你做的那個項目(可選)

看,這是一種愚蠢的做事方式,但 Android Studio 是免費的,所以我有什么資格抱怨......

使用./gradlew而不是gradle來解決這個問題。

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 Central 找到最新的 com.android.tools.build:gradle 版本,目前是 2.1.3。 所以改成之后

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

最終解決了我的問題。

我有類似的問題。 每個項目都有自己的 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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM