安卓 gradle 配置生成不同 ABI 版本及不同名字的 APK

应用市场支持分开上传32位包和64位包了
打包相关的代码改一下

android {

    productFlavors {
        tongyong {
            manifestPlaceholders = [APP_CHANNEL: "tongyong"]
        }
    }

    rootProject.ext.env = "release"//自定义的环境配置

    //按abi拆分包
    splits {
        abi {
            enable true
            reset()
            include 'armeabi-v7a', 'arm64-v8a' //支持的ABIs
            universalApk true //要不要一个全量ABIs的包
        }
    }

    android.applicationVariants.all { variant ->
        variant.outputs.all { output ->
            def aid = variant.applicationId.split("\\.")
            def name = aid[aid.length - 1]
            def flavor = variant.productFlavors[0].name
            def buildType = env
            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"
            if (variant.buildType.name == "release") {//release环境更换目录位置
                variant.getPackageApplicationProvider().get().outputDirectory = new File(project.rootDir.absolutePath
                        + "/releaseOutputs")
            }
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容