To add V4 support libraries to android studio, i followed this document:https://developer.android.com/tools/support-library/setup.html#libs-without-res but I get an error. Here is what i did
- SDK manager> Installed Android Support Library and Android Repository.
- Go to Build.Gradle and added the line as given in the dcoument. Build.Gradle now looks like this:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.13.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
dependencies {
compile "com.android.support:support-v4:18.0.+"
}
}
}
Then, I get a popup that suggest that I sync gradle. When i sync Gradle, i get this error:
Error:(20, 0) Gradle DSL method not found: 'compile()' Possible causes:
Am i missing any step? Please suggest.
Build.Gradle(app)
apply plugin: 'com.android.application'
android {
compileSdkVersion 20
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.appt.shreyabisht.staymax"
minSdkVersion 15
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'])
}
Just delete the method.
Try to compile again. It should work now.
Source : https://medium.com/@marcuspereira/solving-the-gradle-dsl-method-not-found-android-in-android-studio-6e5ab499bd3#.u1lxecq41
Make sure you have a
settings.gradle
file in your project. Adding that solved the problem ofError:Gradle DSL method not found: 'minSdkVersion()'
for me.I have the same issue, and the bug is my build.gradle of application level has dependencies of my submodules. Means
I have just remove the two line inside the dependencies braces and it is able to start syncing.
Deleting .gradle in my project folder did the job for me.