繁体   English   中英

为什么gradle android插件不会为intellij idea模块生成依赖项

[英]Why gradle android plugin doesn't generate dependencies for intellij idea module

我有4个子项目的gradle项目,我正在使用idea插件来生成想法项目和模块。 其中一个子项目是android模块。

这是build.gradle代码:

buildscript {

    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.6'
    }
}

apply plugin: 'android'

android {

    buildToolsVersion "18.1.1"
    compileSdkVersion 16

    sourceSets {

        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aild.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        instrumentTest.setRoot('tests')
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile(
            ['org.atmosphere:wasync:1.1.0'],
            ['org.codehaus.jackson:jackson-mapper-lgpl:1.9.13'],
            ['org.projectlombok:lombok:0.+'],
            ['org.apache.httpcomponents:httpmime:4.3.1'],
            ['commons-io:commons-io:2.+'],
            ['com.google.guava:guava:14.+']
    )
    compile fileTree(dir: 'libs', include: '*.jar')
}

问题是:当使用“gradle idea”生成intellij idea模块时,生成的android模块缺少依赖项,我无法弄清楚原因。 我的配置有问题吗?

其他子项目(使用java插件)在构思模块中导入依赖项没有问题。

我正在使用gradle 1.7。

在Idea中导入gradle项目解决了Android模块没有导入依赖项的问题,但是在这个问题中描述了一堆更多(和更糟)的问题: IntelliJ,Android和Gradle

Idea插件可以处理java插件的compile配置,但不能处理android插件(现在)。 但这可以手工解决,将它放在你的android {}附近并apply plugin: blocks:

beforeEvaluate {
    idea.module.scopes.put("COMPILE", ["plus": [], "minus": []])
    idea.module.scopes.COMPILE.plus += configurations.compile
    idea.module.sourceDirs += file('src')
}

第一行与idea插件的内部细节有关,第二行实际上是在dependencies内部的compile配置中声明的dependencies 第三个与问题无关,但将src文件夹添加到Idea的来源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM