0

So after i add Google Play Services in dependencies, Gradle fails to sync and i get: Cannot change configuration ':android:compile' after it has been resolved play services error.

Only similar thing i have found in this 2 questions: link1 and link2, but it is not helping me. Also i have everything up to date, also i have added ANDROID_HOME variable just to make sure. But it's still the same

I use Android studio and libGDX if there is any connection with those two and the problem.

Build.gradle(module: android)

android {
buildToolsVersion '23.0.0'
compileSdkVersion 23
sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
    }

    instrumentTest.setRoot('tests')
}
}
// needed to add JNI shared libraries to APK when compiling on CLI
tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
pkgTask.jniFolders = new HashSet<File>()
pkgTask.jniFolders.add(new File(projectDir, 'libs'))
}
// called every time gradle gets executed, takes the native dependencies of
// the natives configuration, and extracts them to the proper libs/ folders
// so they get packed with the APK.
task copyAndroidNatives() {
file("libs/armeabi/").mkdirs();
file("libs/armeabi-v7a/").mkdirs();
file("libs/x86/").mkdirs();

configurations.natives.files.each { jar ->
    def outputDir = null
    if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a")
    if (jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi")
    if (jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86")
    if (outputDir != null) {
        copy {
            from zipTree(jar)
            into outputDir
            include "*.so"
        }
    }
}
}
 task run(type: Exec) {
def path
def localProperties = project.file("../local.properties")
if (localProperties.exists()) {
    Properties properties = new Properties()
    localProperties.withInputStream { instr ->
        properties.load(instr)
    }
    def sdkDir = properties.getProperty('sdk.dir')
    if (sdkDir) {
        path = sdkDir
    } else {
        path = "$System.env.ANDROID_HOME"
    }
} else {
    path = "$System.env.ANDROID_HOME"
}

def adb = path + "/platform-tools/adb"
commandLine "$adb", 'shell', 'am', 'start', '-n', 'path.to.project.android/path.to.project.android.AndroidLauncher'
}
// sets up the Android Eclipse project, using the old Ant based build.
eclipse {
// need to specify Java source sets explicitely, SpringSource Gradle Eclipse plugin
// ignores any nodes added in classpath.file.withXml
sourceSets {
    main {
        java.srcDirs "src", 'gen'
    }
}

jdt {
    sourceCompatibility = 1.6
    targetCompatibility = 1.6
}

classpath {
    plusConfigurations += project.configurations.compile
    containers 'com.android.ide.eclipse.adt.ANDROID_FRAMEWORK', 'com.android.ide.eclipse.adt.LIBRARIES'
}

project {
    name = appName + "-android"
    natures 'com.android.ide.eclipse.adt.AndroidNature'
    buildCommands.clear();
    buildCommand "com.android.ide.eclipse.adt.ResourceManagerBuilder"
    buildCommand "com.android.ide.eclipse.adt.PreCompilerBuilder"
    buildCommand "org.eclipse.jdt.core.javabuilder"
    buildCommand "com.android.ide.eclipse.adt.ApkBuilder"
}
    }
// sets up the Android Idea project, using the old Ant based build.
idea {
module {
    sourceDirs += file("src");
    scopes = [COMPILE: [plus: [project.configurations.compile]]]

    iml {
        withXml {
            def node = it.asNode()
            def builder = NodeBuilder.newInstance();
            builder.current = node;
            builder.component(name: "FacetManager") {
                facet(type: "android", name: "Android") {
                    configuration {
                        option(name: "UPDATE_PROPERTY_FILES", value: "true")
                    }
                }
            }
        }
    }
}
}
dependencies {
    compile 'com.android.support:support-v13:23.0.0'
    compile 'com.google.android.gms:play-services:7.8.0'
}

EDIT: with futher testing and trying, i have figured out that i can't add anything in dependencies. Error is the same

Community
  • 1
  • 1
raco
  • 398
  • 1
  • 5
  • 18

1 Answers1

0

I think your error is that you are adding the dependencies block outside the android block. Look carefully at your braces. If that still doesn't fix it, there is already an android dependencies section in the top level build.gradle file in a libgdx project. Try putting them there instead.

Tenfour04
  • 83,111
  • 11
  • 94
  • 154
  • it is that in default. I have put everything in android bracelets but it is the same. Then i have dependencies in android gradle build. If i put in in core gradle dependencies it says it doesnt find services – raco Aug 27 '15 at 13:15