android 多渠道打包与自定义包文件名

我们在打包输出的时候希望我们的包文件名是自定义的,例如是包名版本号+渠道名+打包日期+.apk。现在我们就以此为例,来写一个gradle自定义包文件脚本。

    //多渠道命名
    productFlavors {

        m360 { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "360"] }
        yingyongbao { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "yingyongbao"] }
    }

    //自定义输出包文件名
    buildTypes {
        debug {
            signingConfig signingConfigs.release
        }
        release {
            // 不显示log
            buildConfigField("boolean", "LOG_DEBUG", "true")
            // Zipalign 优化
            zipAlignEnabled true
            debuggable false
            minifyEnabled false
            signingConfig signingConfigs.release
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            //就是指定了新的apk的文件名
            applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def outputFile = output.outputFile
                    if (outputFile != null && outputFile.name.endsWith('.apk')) {
                        //遍历渠道
                        productFlavors.each { flavor ->
                            def myFlavor = flavor
                          //定义输出文件名
                            def fileName = "${applicationId}_v${defaultConfig.versionName}_${myFlavor.manifestPlaceholders.UMENG_CHANNEL_VALUE}_${releaseTime()}_release.apk"
                            output.outputFile = new File(outputFile.parent, fileName)
                        }
                    }
                }
            }
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,558评论 25 708
  • 这一章主要针对项目中可以用到的一些实用功能来介绍Android Gradle,比如如何隐藏我们的证书文件,降低风险...
    acc8226阅读 7,695评论 3 25
  • 目录一、Python打包及优化(美团多渠道打包)二、Gradle打包三、其他打包方案:修改Zip文件的commen...
    守望君阅读 5,777评论 4 17
  • Java的四大应用领域 1. 行业和企业信息化 由于Sun、IBM、Oracle、BEA等国际厂商相继推出各种基于...
    书中记阅读 1,423评论 0 2
  • Q:嘟.....嘟.....嘟... Q:嘟.....嘟.....嘟... (去不去A站 ?) Q: 喂!忙什么呢...
    luxan阅读 133评论 0 1