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

当我尝试同步我的项目时,出现以下生成错误:

Error:(9, 0) Gradle DSL method not found: 'compile()' Possible causes:The project 'AlexTest' may be using a version of Gradle that does not contain the method. The build file may be missing a Gradle plugin. link: Apply Gradle plugin 

我已经尝试应用每个单独的gradle插件,他们链接到我在底部的链接,但同样的问题,所以我得出结论,第一个错误是原因。

这里是AlexTest的build.gradle文件(项目目录):

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

我认为这是它遇到的gradle文件。 但我不确定它指的是什么方法。

这里也是它也提到的gradle-wrapper.properties:

 #Mon Nov 10 01:06:12 PST 2014 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.1-all.zip 

也许在distributionUrl中的gradle版本需要匹配依赖项中的那个版本?

我也有一个build.gradle文件在应用程序目录本身 – 低1级,但我不认为这是它所指的,但这里是:

 apply plugin: 'com.android.application' android { compileSdkVersion 20 buildToolsVersion "21.1.1" defaultConfig { applicationId "com.snappiesticker.alextest" minSdkVersion 16 targetSdkVersion 20 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.android.gms:play-services:6.1.+' } 

我已经尝试应用每个单独的gradle插件,他们链接到我在底部的链接,但同样的问题,所以我得出结论,第一个错误是原因。

正确。

这里是AlexTest的build.gradle文件(项目目录):

你会注意到这个文件包含一个代码注释:

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

从该文件中删除compile 'com.google.android.gms:play-services:6.1.11'行。 保留在其他build.gradle文件中的compile 'com.google.android.gms:play-services:6.1.+'

buildscriptdependenciesclosures仅适用于Gradle插件。 在模块的build.gradle文件中find的顶层dependencies closure用于应用程序依赖关系。

看到报告说,这个问题是出于其他原因,但这个解决了我。

如果你在项目结构(Android Studio)中进行了任何更改并按下确定,Gradle将被同步,但是这种types的同步,如果依赖块具有类似的东西:

同步之后,该块将保持这种状态:

解决此问题的一种方法是插入一个换行符,使其保持原来的状态,或者在两个语句之间放置一个分号。

我希望它有帮助。

只要在你的依赖中添加愚蠢的语句

应用插件:'jetty'

大家好,对我来说这是一个“耗时几天的工作”,使我的应用程序运行在Android Studio( 我从Eclipse迁移,也有这个问题 )。 最后我发现了这个非常简单的方法。

  1. 在src / main / java下创buildlibs文件夹,左边是App / java / libs。
  2. 复制并粘贴所有的外部jar子到这里。
  3. 转到左窗格并右键单击您的应用程序,然后单击打开模块设置
  4. 然后出现“项目结构”窗口。
  5. 然后移到依赖关系选项卡。 最后一步:将所有位于App / java / libs中的jar(你可以在src / main / java / libs中find它们)。

这是所有的享受。

在Module的build.gradle文件中声明依赖 ,而不是在AlexTest的build.gradle文件中

在这里输入图像描述