4

我正在尝试使用风味组构建一个基于 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 经验的人可以指出我在这里缺少什么吗?谢谢!

4

0 回答 0