Gradle失败:找不到支持的Gradle DSL方法:’exclude()’

我正在尝试将我最近编码的Google端点(Python)中的类包含到我的Android项目(Android Studio – 最新版,Gradle)中。 服务器端都经过测试和运行。

我不习惯Gradle,因此我正在关注Google Developers的文档。 将src下的build.gradle文件(按文档指示)更改为:

的build.gradle:

buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.9.+' } } apply plugin: 'android' repositories { maven { url 'http://google-api-client-libraries.appspot.com/mavenrepo' } mavenCentral() mavenLocal() } android { compileSdkVersion 19 buildToolsVersion "19.0.2" defaultConfig { minSdkVersion 17 targetSdkVersion 19 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } } dependencies { compile 'com.android.support:support-v4:+' compile 'com.google.android.gms:play-services:4.+' compile('com.google.api-client:google-api-client:1.17.0-rc') { // Exclude artifacts that the Android SDK/Runtime provides. exclude('xpp3:xpp3') exclude('org.apache.httpcomponents:httpclient') exclude('junit:junit') exclude('com.google.android:android') } compile('com.google.api-client:google-api-client-android:1.17.0-rc') { // Exclude play services, since we're not using this yet. exclude('com.google.android.google-play-services:google-play-services') } compile('com.google.http-client:google-http-client-android:1.17.0-rc') { exclude('com.google.android:android') } // This is used by the Google HTTP client library. compile('com.google.guava:guava:14.0.+') } 

Android Studio会返回以下错误:

 Gradle 'Project' project refresh failed: Build script error, unsupported Gradle DSL method found: 'exclude()'! Possible causes could be: - you are using Gradle version where the method is absent - you didn't apply Gradle plugin which provides the method - or there is a mistake in a build script Build file '/Project/Android/build.gradle' line: 44 : Gradle settings 

它不喜欢你如何为依赖项设置exclude语句。 如果您更仔细地按照指南中的示例,它应该工作。

例如,而不是:

 compile('com.google.api-client:google-api-client:1.17.0-rc') { // Exclude artifacts that the Android SDK/Runtime provides. exclude('xpp3:xpp3') exclude('org.apache.httpcomponents:httpclient') exclude('junit:junit') exclude('com.google.android:android') } 

用这个:

 compile('com.google.api-client:google-api-client:1.17.0-rc') { // Exclude artifacts that the Android SDK/Runtime provides. exclude(group: 'xpp3', module: 'xpp3') exclude(group: 'org.apache.httpcomponents', module: 'httpclient') exclude(group: 'junit', module: 'junit') exclude(group: 'com.google.android', module: 'android') } 

在初始compile坐标中使用压缩格式是很好的。