我有一个具有多种产品口味的Android应用:具有minApi16
和minApi21
口味的API维度。我想将ABI拆分用于minApi16
,而不要用于minApi21
。
我这样设置拆分:
splits {
abi {
enable true
reset()
include "armeabi-v7a", "x86"
universalApk true
}
}
这将创建6个APK(minApi21
为3个,minApi16
为3个)。我只需要4个(minApi21
1个通用,minApi16
3个)。我尝试了提供here的解决方案,但这仅基于Gradle任务名称起作用:与assembleMinApi16
和assembleMinApi21
一起使用,但不适用于assemble
。
我试图从applicationVariant中删除不需要的输出,但这似乎不起作用:
android.applicationVariants.all { variant ->
def iterator = variant.outputs.iterator()
while (iterator.hasNext()) {
def output = iterator.next()
def name = output.name
if (name.contains("minApi21") && !name.contains("universal")) {
iterator.remove()
}
}
}