gradle中不同的风格和构建类型有不同的依赖关系



假设我有这样的build.gradle:

android {
    productFlavors {
        flavor1 {
        }
        flavor2 {
        }
    }
}

如何指定不同的依赖关系,例如:

dependencies {
    flavor1DebugCompile ...
    flavor1ReleaseCompile ...
    flavor2DebugCompile ...
    flavor2ReleaseCompile ...
}
Gradle会生成如下错误:Could not find method flavor1DebugCompile() for arguments ...

这是一个bug。试试这个:

def customDeps = [
    flavor1DebugCompile   : dependencies.project(path: ':yourproject', configuration: 'flavor1Debug'),
    flavor2DebugCompile   : dependencies.project(path: ':yourproject', configuration: 'flavor2Debug'),
    flavor1ReleaseCompile : dependencies.project(path: ':yourproject', configuration: 'flavor1Release'),
    flavor2ReleaseCompile : dependencies.project(path: ':yourproject', configuration: 'flavor2Release'),
]
configurations.all() { config ->
    Dependency d = customDeps.get(config.name)
    if (d != null) {
        config.dependencies.add(d)
    }
}

最新更新