应用市场要求传32位的包和64位的包,打包的时候自动生成多个包,官方推荐配置splits,具体配置:
import com.android.build.OutputFile
def versionCodeNum
android{
defaultConfig {
//设置所有支持的架构,
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
}
splits {
abi {
enable true
reset()
include "armeabi-v7a", "arm64-v8a"
universalApk true //是否生成一个支持全部架构的包
}
}
//自定义输出包名;如果不设置的话也会有默认的包名输出
android.applicationVariants.all { variant ->
variant.outputs.all {
if (variant.buildType.name.equals('release')) {
variantType = 'Release'
versionCodeNum = variant.mergedFlavor.getVersionCode()
outputFileName = "dh_android_${versionCodeNum}_${getFilter(OutputFile.ABI)?:""}_${buildTime()}_release.apk"
} else if (variant.buildType.name.equals('debug')) {
variantType = 'Debug'
versionCodeNum = variant.mergedFlavor.getVersionCode()
outputFileName = "dh_android_${versionCodeNum}_${getFilter(OutputFile.ABI)?:""}_${buildTime()}_debug.apk"
}
}
}
}