Gradle:找到了不受支持的Gradle DSL方法:'exclude()' [英] Gradle: unsupported Gradle DSL method found: 'exclude()'

查看:274
本文介绍了Gradle:找到了不受支持的Gradle DSL方法:'exclude()'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的依赖项部分:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.google.android.gms:play-services-base:6.5.87'
    compile files('libs/unity/classes.jar') {
        exclude module: 'com.unity3d.player'
        exclude module: 'org.fmod'
    }
}

gradle文档显示以下内容:

dependencies {
    compile("org.gradle.test.excludes:api:1.0") {
        exclude module: 'shared'
    }
}

所以在我看来,我至少具有正确的语法.

我找到了这些答案:

分级失败:发现了不受支持的Gradle DSL方法:'exclude() '

找到了不受支持的Gradle DSL方法:"exclude()"

而且它们都不能解决我的问题.

解决方案

这完成了我想要的:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.google.android.gms:play-services-base:6.5.87'
    provided files('libs/unity/classes.jar')
}

provided关键字显然告诉系统该jar需要进行编译,但将在外部提供,并且不需要在.aar文件中.

Here's my dependencies section:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.google.android.gms:play-services-base:6.5.87'
    compile files('libs/unity/classes.jar') {
        exclude module: 'com.unity3d.player'
        exclude module: 'org.fmod'
    }
}

The gradle documentation shows this:

dependencies {
    compile("org.gradle.test.excludes:api:1.0") {
        exclude module: 'shared'
    }
}

So it looks to me like I at least have the syntax correct.

I found these SO answers:

Gradle failed: unsupported Gradle DSL method found: 'exclude()'

Unsupported Gradle DSL method found: 'exclude()'

And neither of them fixes my problem.

解决方案

This accomplishes what I want:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.google.android.gms:play-services-base:6.5.87'
    provided files('libs/unity/classes.jar')
}

The provided keyword apparently tells the system that the jar is needed for compilation, but will be provided externally, and doesn't need to be in the .aar file.

这篇关于Gradle:找到了不受支持的Gradle DSL方法:'exclude()'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆