Gradle的DSL方法没有find:'compile()'

我有这个gradle错误。

错误:(9,0)未findGradle DSL方法:'compile()'

我曾尝试引用类似的问题,但没有奏效。

Android gradle build错误:(9,0)未findGradle DSL方法:'compile()'。

获取错误“Gradle DSL method not found:'compile()'”当同步Build.Gradle时

不支持的Gradle DSL方法发现:'compile()'!

我的build.gradle代码在这里

 buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.0.0' compile 'com.android.support:appcompat-v7:20.+' compile 'com.google.android.gms:play-services:6.5.+' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } 

build.gradle(Module.app)

 apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.1" defaultConfig { applicationId "com.example.simplemaker.pushtest" minSdkVersion 9 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' } 

我的代码有什么问题?

对不起我的英语不好。

非常感谢!

正如你的项目的build.gradle文件的说明所示:

 // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files 

删除该gradle文件中的2个编译语句:

 compile 'com.android.support:appcompat-v7:20.+' compile 'com.google.android.gms:play-services:6.5.+' 

然后使你的其他(模块的) build.gradle依赖关系看起来像这样:

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' compile 'com.google.android.gms:play-services:6.5.+' } 

我正在使用基于IntelliJ Idea的Android工作室,并且更改了关于何时以及如何打包代码的设置。 此外,我有'自动格式化'选项,导致随机格式化Gradle文件。 所以会导致这样的事情:

  compile 'de.greenrobot:eventbus:2.4.0' compile 'com.jakewharton:butterknife:7.0.1' 

Gradle然后无法find第二次编译的compile()。 因为你只允许每行写一个依赖项。

它真的很愚蠢的问题,我得到的解决scheme:

因为编译语句在一行中

 compile "com.squareup.okhttp3:okhttp:$okHttpVersion" compile "com.squareup.okhttp3:okhttp-urlconnection:$okHttpVersion" compile "com.squareup.okhttp3:logging-interceptor:$okHttpVersion" compile "com.google.code.gson:gson:$gsonVersion" 

我刚换下一行,解决了我的问题:

 compile "com.squareup.okhttp3:okhttp:$okHttpVersion" compile "com.squareup.okhttp3:okhttp-urlconnection:$okHttpVersion" compile "com.squareup.okhttp3:logging-interceptor:$okHttpVersion" compile "com.google.code.gson:gson:$gsonVersion" 

希望它会帮助你。 谢谢。

检查你的build.gradle文件,有时当你使用项目设置将模块添加到当前模块时,当前模块的build.gradle损坏,并且缩进被打破,只需检查当前的build.gradle并检查是否所有的编译语句发出一个新的行!

除了上面已经给出的正确答复之外 – 更详细的解释图片:

在这里输入图像说明

项目有2个build.gradle。 你需要突出的一个:build.gradle(模块:应用程序)

检查你的项目。 有2个build.gradle。

 Move your compile line to another build.gradle 

应用程序依赖关系必须包含在应用程序 – > build.gradle文件中。 不在Project – > build.gradle文件中。

一个简单的错误也会导致这个问题,不要包含classpath依赖关系build.gradle(Module:app)