添加Google Play服务后,Gradle项目刷新失败

时间:2015-08-27 12:32:10

标签: android libgdx android-gradle

所以在我添加依赖的Google Play服务后,Gradle无法同步,我得到:无法更改配置':android:编译'解决后播放服务错误。

我在这2个问题中只发现了类似的事情:link1link2,但它并没有帮助我。此外,我有最新的一切,我也添加了ANDROID_HOME变量,以确保。但它仍然是相同的

我使用Android studio和libGDX,如果与这两者有任何联系和问题。

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'
}
编辑:通过进一步的测试和尝试,我已经发现我无法在依赖项中添加任何内容。错误是相同的

1 个答案:

答案 0 :(得分:0)

我认为您的错误是您要在dependencies块之外添加android 块。仔细看看你的牙套。如果仍然没有解决它,libgdx项目中的顶级build.gradle文件中已经有一个android依赖项部分。试着把它们放在那里。