Reputation: 1221
I had this gradle error.
Error:(9, 0) Gradle DSL method not found: 'compile()'
I have tried refering to similar questions but it did not work.
Android gradle build Error:(9, 0) Gradle DSL method not found: 'compile()'.
Getting Error "Gradle DSL method not found: 'compile()'" when Syncing Build.Gradle
Unsupported Gradle DSL method found: 'compile()'!
My build.gradle
code is here
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'
}
What's wrong with my code?
Upvotes: 81
Views: 104654
Reputation: 6263
In my case, I was getting this error because I had a dependency implementation line outside the dependencies
block. Something like this:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
...
}
implementation 'androidx.media:media:1.1.0'
Note that all implementation calls must be defined within the dependencies block. That's the simple fix.
I hope this helps someone out there.
Merry coding!
Upvotes: -1
Reputation: 6499
Check your project. there is 2 build.gradle.
Move your compile line to another build.gradle
Upvotes: 2
Reputation: 6282
A simple mistake can cause this problem too, don't include classpath
dependencies to build.gradle(Module:app)
Upvotes: 0
Reputation: 2767
Application dependencies must include in app -> build.gradle file. Not in Project -> build.gradle file.
Upvotes: 0
Reputation: 540
in addition to proper replies already given above - a picture for more detailed explanation:
Project has 2 build.gradle. You need the highlighted one: build.gradle (Module: app)
Upvotes: 7
Reputation: 62421
Its really silly problem and I got solution:
as compile statements goes in one line
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"
I just changed next by next line and solved my problem:
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"
Hope it will helps you. Thank you.
Upvotes: 31
Reputation: 4773
Check your build.gradle files, sometimes when you add a module to your current module using the project settings, the build.gradle of current module is corrupted, and indents are broken, just check current build.gradle and check if all the compile statements are issued in a new line!
Upvotes: 8
Reputation: 1194
I am using Android studio based on IntelliJ Idea and I have changed Settings on when and how to wrap code. Also I had 'reformat automatically' options which lead to formatting Gradle files randomly. So it lead to something like this:
compile 'de.greenrobot:eventbus:2.4.0' compile 'com.jakewharton:butterknife:7.0.1'
Gradle then fails to find compile() for the second compile. As you only allowed to write one dependency per line.
Upvotes: 35
Reputation: 44118
As the note of your project's build.gradle
file suggests:
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Remove the 2 compile statements in that gradle file:
compile 'com.android.support:appcompat-v7:20.+'
compile 'com.google.android.gms:play-services:6.5.+'
And then make your other (module's) build.gradle
dependencies look like this:
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.+'
}
Upvotes: 110