Android Gradle多味道变种

时间:2014-10-20 11:55:04

标签: android gradle android-studio android-productflavors

我正在尝试使用风味组构建基于gradle的项目。这些群体是“市场”和“成本”。问题在于依赖管理。

例如,我想做一些像compileFreeGplay 'com.google.android.gms:play-services:5.0.89'这样的东西,但是这个Android插件还没有支持gradle。

所以我使用了基于这个SO问题的解决方案:https://stackoverflow.com/a/22584908/2904294

解决方案可以正常工作并根据正在构建的变体填充以下全局变量:

ext {
buildType = ""
groupCost = ""
groupMarket = ""
}

这是“依赖关系”部分:

dependencies {
    compile 'com.android.support:support-v4:20+'
    compile 'com.android.support:appcompat-v7:20+'

    compile 'com.google.android.gms:play-services:5.0.89'

    println groupMarket + ", " + groupCost

    if (groupMarket == 'gplay' && groupCost == 'free') {
        compile files('C:\\Program Files (x86)\\adsSdks\\MobileCoreLibrary\\mobilecore_V0.9.4.jar')
        println 'inside!!'
    }
    else if (groupMarket == 'amazon' && groupCost == 'free') {
        compile files('C:\\Program Files (x86)\\adsSdks\\Apps-SDK\\Android\\Ads\\lib\\amazon-ads-5.4.78.jar')
    }
}

printlns全部正确显示,代码按预期进入ifs。但是项目中的库仍未包含

如果我将它放在ifs之外,那就完美了:

dependencies {
    compile 'com.android.support:support-v4:20+'
    compile 'com.android.support:appcompat-v7:20+'

    compile 'com.google.android.gms:play-services:5.0.89'

    compile files('C:\\Program Files (x86)\\adsSdks\\MobileCoreLibrary\\mobilecore_V0.9.4.jar')
}

有更多Gradle经验的人可以指出我在这里缺少什么吗?谢谢!

0 个答案:

没有答案