打包

安卓 gradle 配置生成不同 ABI 版本

2021-12-16  本文已影响0人  咸死的鱼_O

Gradle abi 分包设置:

android {
  defaultConfig {
     splits {
            abi {
                enable true // 设为true,才能启用abi拆分机制在打包时根据架构生成不同的apk文件
                reset()  //将要包含的abi列表重置为空字符串(这允许与include 一起指示使用哪个 abi 而不是忽略哪些abi)
                include 'armeabi-v7a', 'arm64-v8a'  // 设置所有要支持的abi类型,构建多个包,每个包只包含一个架构的so
                universalApk false // If true, 构建支持所有平台abi类型,构建一个包,包含多个架构的so(只要代码中有的都会打进去)
                exclude 'armeabi' , 'x86 ' //设置不支持的abi类型
              }
        }
    }
}

打包输出不同名称的apk包:

android.applicationVariants.all { variant ->
    variant.outputs.all { output ->
        def aid = variant.applicationId.split("\\.")
        def name = aid[aid.length - 1]
        def flavor = variant.flavorName  //渠道名
        def name = "名称"
        def buildType = variant.name
        def abi = output.getFilter(com.android.build.OutputFile.ABI)
        if (abi == null) abi = "all"
        def version = variant.versionName
        def versionCode = variant.versionCode
        def date = new Date()
        def formattedDate = date.format('yyyyMMdd_HHmm')
        outputFileName =
                "${name}" +
                "${"_"}${flavor}" +
                "${"_"}${buildType}" +
                "${"_"}${abi}" +
                "${"_"}${"v"}${version}" +
                "${"_"}${"b"}${versionCode}" +
                "${"_"}${formattedDate}.apk"
    }
}
上一篇下一篇

猜你喜欢

热点阅读