有没有更好的方法来声明来自同一组(例如“com.android.support”)具有相同版本(例如“23.4.0”)的多个软件包(例如“appcompat-v7”)?

实际申报:

...
def androidSupport = '23.4.0'
def rxBinding = '0.4.0'

dependencies {
    ...

    // android support
    compile "com.android.support:appcompat-v7:$androidSupport"
    compile "com.android.support:design:$androidSupport"
    compile "com.android.support:percent:$androidSupport"

    // rxJava
    compile "com.jakewharton.rxbinding:rxbinding:$rxBinding"
    compile "com.jakewharton.rxbinding:rxbinding-support-v4:$rxBinding"
    compile "com.jakewharton.rxbinding:rxbinding-appcompat-v7:$rxBinding"
    compile "com.jakewharton.rxbinding:rxbinding-design:$rxBinding"
    compile "com.jakewharton.rxbinding:rxbinding-recyclerview-v7:$rxBinding"
...

是否可以做这样的事情?:
...
compile(group: 'com.android.support', version: '23.4.0') {
    modules: "appcompat-v7", "design", "percent"
}
...

最佳答案

一旦意识到Gradle构建脚本只是Groovy脚本,这意味着每一个“编译”行都只是方法调用,您就会开始发现许多可能性。

例如,指定 Artifact 名称的“内联”数组,在其上调用“each()”,然后传递一个指定“compile group:$it:$version”(或类似名称)的闭包。

10-06 11:29