【问题标题】:Android Studio Gradle Build : Import Eclipse Library Project : IssueAndroid Studio Gradle 构建:导入 Eclipse 库项目:问题
【发布时间】:2015-01-08 08:29:12
【问题描述】:

我在 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 构建过程。

应用程序 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()
    }
}

库 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']
        }
    }
}

应用程序设置.gradle

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

【问题讨论】:

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


    【解决方案1】:

    您将 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 指令在buildscript 下的dependencies 块中无效--构建系统看不懂。

    【讨论】:

      猜你喜欢
      • 2013-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 2017-03-28
      • 1970-01-01
      相关资源
      最近更新 更多