在Android Studio中如何批量设置flavor依赖?
In Android Studio how to batch set flavor dependencies?
假设我有很多口味:
android
{
productFlavors {
flavor1 { ... }
flavor2 { ... }
flavor3 { ... }
flavor4 { ... }
flavor5 { ... }
...
}
}
而不是一一设置口味的依赖关系:
dependencies {
flavor1Compile fileTree(include: ['*.jar'], dir: 'src/flavor1/libs')
flavor2Compile fileTree(include: ['*.jar'], dir: 'src/flavor2/libs')
flavor3Compile fileTree(include: ['*.jar'], dir: 'src/flavor3/libs')
flavor4Compile fileTree(include: ['*.jar'], dir: 'src/flavor4/libs')
flavor5Compile fileTree(include: ['*.jar'], dir: 'src/flavor5/libs')
...
}
我想要一个简单的循环方式如伪代码:
dependencies {
all {
entry ->
compile fileTree(include: ['*.jar'], dir: 'src/' + entry.name + '/libs')
}
}
这可以用 build.gradle 实现吗?如果可以,怎么做?
我发现了。只需在dependencies
中循环productFlavors
,然后手动调用add
方法:
dependencies {
android.productFlavors.each {
flavor ->
add(flavor.name + 'Compile', fileTree(include: ['*.jar'], dir: 'src/' + flavor.name + '/libs'))
}
}
假设我有很多口味:
android
{
productFlavors {
flavor1 { ... }
flavor2 { ... }
flavor3 { ... }
flavor4 { ... }
flavor5 { ... }
...
}
}
而不是一一设置口味的依赖关系:
dependencies {
flavor1Compile fileTree(include: ['*.jar'], dir: 'src/flavor1/libs')
flavor2Compile fileTree(include: ['*.jar'], dir: 'src/flavor2/libs')
flavor3Compile fileTree(include: ['*.jar'], dir: 'src/flavor3/libs')
flavor4Compile fileTree(include: ['*.jar'], dir: 'src/flavor4/libs')
flavor5Compile fileTree(include: ['*.jar'], dir: 'src/flavor5/libs')
...
}
我想要一个简单的循环方式如伪代码:
dependencies {
all {
entry ->
compile fileTree(include: ['*.jar'], dir: 'src/' + entry.name + '/libs')
}
}
这可以用 build.gradle 实现吗?如果可以,怎么做?
我发现了。只需在dependencies
中循环productFlavors
,然后手动调用add
方法:
dependencies {
android.productFlavors.each {
flavor ->
add(flavor.name + 'Compile', fileTree(include: ['*.jar'], dir: 'src/' + flavor.name + '/libs'))
}
}