需要Gradle 1.10版。当前版本是2.0


80

我正在尝试使用最新的Gradle版本(2.0),但是在终端中单击gradle build时,我一直收到此消息。为什么要求1.10版本?我是Gradle的新手,所以我想尽一切办法。

需要Gradle 1.10版。当前版本是2.0

这是我的依赖项(模块build.gradle文件):

dependencies {
    classpath 'com.android.tools.build:gradle:0.12.+'
    classpath fileTree(dir: 'build-libs', include: '*.jar')
}

...以及包装器任务:

task wrapper(type: Wrapper) {
    gradleVersion = "2.0"
}

另外,我将分发URL设置如下(在local.properties文件中):

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

最后一件事是,在中File->Settings->Gradle,我选择了“使用可自定义的gradle包装器”

GRADLE_HOME 设置为C:\ Program Files(x86)\ Gradle \ gradle-2.0

build.gradle文件:

buildscript {

    repositories {
        mavenLocal()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
        classpath fileTree(dir: 'build-libs', include: '*.jar')
    }
}


task wrapper(type: Wrapper) {
    gradleVersion = "2.0"
}

更新1

就目前而言,我正在使用带有1.1.0-rc1插件版本的Android Studio 1.1.0

    dependencies {
    classpath 'com.android.tools.build:gradle:1.1.0-rc1'
}

gradle-wrapper.properties中的Gradle版本是2.3

distributionUrl=http\://services.gradle.org/distributions/gradle-2.3-all.zip

我试过插件版本1.1.0,但随后它抱怨com.android.application

更新01/2016

就目前而言,我正在gradle->包装器-> gradle-wrapper.properties中使用gradle 2.9发行版

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

和插件是

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

您可以发布build.gradle文件吗?
apmartin1991

仍然有这个问题。插件设置为0.12。+,并且使用Gradle 2.0的正式版发布即时消息。无法找到1.10的任何痕迹。为什么要这样:(
Nabdreas 2014年

您是否为1.10生成了包装器?我有同样的问题。如果您可以使用此功能,请发布更新。我刚刚返回到基于gradle的项目,尽管尝试重新生成包装器,却无法再次使用它。
RichieHH 2014年

不,不祝您好运2.0,我暂时使用1.12。如果我设法找到解决方案,我一定会发布!可能有帮助的是删除C:/ User中的.gradle文件夹。我必须这样做才能使1.12正常工作
Nabdreas 2014年

如果有帮助,那么我正在使用Gradle 2.2.1,插件1.0.1和AS版本1.1 Preview2。完全没有问题。
Nabdreas 2015年

Answers:


66

Android gradle插件的版本必须与Gradle的版本兼容。签出版本兼容性映射表

兼容性映射表


63
老实说,这表明了当插件不能使用最新版本的Gradle时,它实际上是多么愚蠢。认真谷歌???听起来像微软几十年前经历的DLL地狱。随身携带Google。
AndroidDev 2014年

5
天哪,这是如此愚蠢和烦人,Android Studio会在每次同步时自动为我降级,我是0.14.4和Gradle 2.2,但它只能识别Gradle 2.1,有人知道如何禁用此检查吗?
鲍勃

2
@Bob尝试使用gradle 2.2.1,我将gradle更改为2.2,将插件更改为0.14.4,并要求使用gradle 2.1,但将其更改为2.2.1修复了它。
Nabdreas 2014年

2
Android Studio 1.0.1呢?
索伦2015年

2
@Sauron,您可以将其1.0.+用于插件和2.2.1Gradle
Gustavo Barbosa

64

消息: “需要版本1.10。当前版本是2.0”

在以下情况下发生:尝试构建一个需要1.10版本的Gradle的Android项目,而将其2.0版本用作本机。

解决方案:使用Gradle包装器

脚步:

  1. 确保在Android项目中的Gradle-wrapper属性文件中将distributionUrl指定为gradle-1.10-all.zip。文件路径将如下所示:

    MyAndroidProject / gradle / wrapper / gradle-wrapper.properties

  2. 在可执行脚本(即gradlewgradlew.bat)所在项目的最顶层运行Gradle Wrapper命令。

    对于类Unix操作系统:

    ./gradlew包装器

    对于Windows操作系统:

    gradlew.bat包装器

  3. 使用Gradle Wrapper运行build命令。

    对于类Unix操作系统:

    ./gradlew构建

    对于Windows操作系统:

    gradlew.bat版本


1
这对我有用。虽然这样做,我必须安装JDK,并按照后stackoverflow.com/questions/17587751/...
Chandru

1
我的distributionUrl设置为最新版本,但我机器上的gradle版本却未设置,而android studio中的gradle sync却什么都没做,这让我发疯了!正是我需要在android studio终端中运行“ ./gradlew包装器”,这可惜Google并没有使它变得更容易/更明显……
AndroidNoob,2016年

16

我修复了在build.gradle文件中更新gradle版本的问题:

dependencies {
classpath 'com.android.tools.build:gradle:0.12.2'

}

这解决了我的问题。我希望这会有所帮助。


3
使用gradle 2.1,您将需要依赖项{classpath'com.android.tools.build
gradle:0.13.+

1
是的,您是对的,但是对于gradle 2.1,如果您最后不使用。+,则我想使用'dependencies {classpath'com.android.tools.build:gradle:0.13.2'}'更好。
穆斯塔德先生2014年

在以下情况下工作:依赖项{classpath'com.android.tools.build:gradle:0.13.2'}我通过交换'com.android.tools.build:gradle:0.12.+'解决了我的问题是,我会觉得原来拍摄的“com.android.tools.build:gradle:0.13.2”
sweetiewill

1
万一你正在使用2.1.1摇篮,那么你应该指定类路径“com.android.tools.build:gradle:0.14.+”
克劳迪娅Mardegan

5

看起来当前版本的Android Gradle插件(0.12.2)与不晚于1.12的Gradle一起使用。

我在“工具”网站上没有找到针对此的直接声明,只有以下短语:

带有插件0.11.1的Gradle 1.10或1.11或1.12。

但是我用Gradle 2.0和1.2进行了手动测试,但是它无法正常工作,因此我认为Tools网站的这一限制仍然适用于Android Gradle插件0.12.2。

我建议distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-bin.zip 您通过在gradle-wrapper.properties文件中进行设置来回到Gradle 1.12 。

然后gradlew照常使用。


4

Android插件需要特定版本的Gradle。最新的Android插件版本需要1.12,在您的版本中声明的Android插件版本需要1.10。


2
这是不正确的。最后一个android插件是0.11.1,可与gradle 1.10-1.11-1.12一起使用。
加布里埃尔·马里奥蒂

是的,我可能现在必须使用Gradle 1.12而不是此2.0-rc-1。我的插件是0.11。+,我会改用1.12。
2014年

2

我在Mac上遵循了wano的方法,并且出现“找不到gradlew命令”错误。通过更改gradlew文件的mod修复了问题

chmod + x gradlew

我希望这会帮助其他人


0

如果由于将使用旧的Android Studio开发的项目移至新的Android Studio而遇到此问题,则只需在新的Android Studio中创建新项目,然后与新创建的项目交叉检查与gradle相关的文件即可。


0

如果以上修复不起作用,请尝试此操作

您必须更改此行 build.gradle

classpath 'com.android.tools.build:gradle:0.9.+'

classpath 'com.android.tools.build:gradle:1.1.+'

你必须在你的这行改变 build.gradle

buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

buildTypes {
        release {
             minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
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.