gradle android插件变种依赖:找不到DSL方法

时间:2014-11-17 10:04:21

标签: android gradle

我有一个多味道项目,名为" qa"和" prod"。我需要根据构建类型和风格包含不同版本的库。

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Type-Product-Flavor-Build-Variant处的文档表明可以使用" flavorBuildCompile"组合构建类型和风格。符号。但是当我这样做时,我收到了这个错误:

Error:(88, 0) Gradle DSL method not found: 'qaDebugCompile()'

我很确定这曾经有用(在较旧版本的gradle中)。目前使用gradle 2.1。如果这样做的方式发生了变化,我还没有找到解释。

注意,如果我使用" flavorCompile"它可以正常工作只有当我包含构建类型时它才会失败。

以下是我的构建脚本的大纲:

android {
    compileSdkVersion 17
    buildToolsVersion "20"

    ...

    productFlavors {
        qa {
            applicationId "com.myapp.qa"
        }
        prod {
            applicationId "com.myapp.prod"
        }
    }

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

        qa {
            res.srcDirs = ['res_qa']
        }

        prod {
            res.srcDirs = ['res_prod']
        }
    }

}   

...

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')

    qaCompile 'com.myapp.integration:other_lib:3.0+@aar'  //this is fine

    qaDebugCompile 'com.myapp.integration:mylib_qa:3.0+@aar'   //this fails!
    prodDebugCompile 'com.myapp.integration:mylib_prod:3.0+@aar'
    qaReleaseCompile 'com.myapp.release:mylib_qa:3.0+@aar'
    prodReleaseCompile 'com.myapp.release:mylib_prod:3.0+@aar'

}

0 个答案:

没有答案