有没有更好的方法来声明来自同一组(例如“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
”(或类似名称)的闭包。