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)