Android Studio Gradle Build:导入Eclipse Library Project:Issue

时间:2015-01-08 08:29:13

标签: android android-studio android-gradle android-library

我在Android Studio中有一个项目,我在其中添加了库项目,如下面提到的链接。

How do I add a library project to Android Studio?

但我正面临这个问题:

Gradle' MyApplication2'项目刷新失败:没有方法签名:org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.compile()适用于参数类型:(org.gradle.api.internal.file.collections.DefaultConfigurableFileTree)值:[directory' libs']可能的解决方案:module(java.lang.Object)

任何人都可以帮助/解释我Gradle构建过程。

application build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        classpath 'com.android.tools.build:gradle:0.8.+'
        compile project(":satellite-menu")
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

library build.gradle:

apply plugin: 'com.android.library'

dependencies {
    compile 'com.android.support:support-v4:21.0.3'
}

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 21
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            res.srcDirs = ['res']
        }
    }
}

application settings.gradle

include ':app', ':satellite-menu'
project(':satellite-menu').projectDir = new File('libs/satellite-menu')

1 个答案:

答案 0 :(得分:0)

您已将dependencies语句放入错误的dependencies块中错误的构建文件中。 buildscript块中的依赖关系用于告知构建系统在何处查找构建系统插件,例如Android Gradle插件。对于您的模块依赖项,请将它们放在模块构建文件的顶级dependencies块中。

完成后,顶级构建文件应如下所示:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.8.+'
    }
}
...

并且模块应如下所示:

apply plugin: 'com.android.library'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(":satellite-menu")
    compile 'com.android.support:support-v4:21.0.3'
}

android {
...

至于你得到的实际错误信息的含义是什么,它有点难以理解,但基本上compile指令在{{dependencies中无效。 1}} buildscript下的阻止 - 构建系统无法理解它。