Android studio 多渠道打包以及自定义apk名字在3.0前后的变化

--
前记:此文用于总结记忆,方便使用


android studio3.0之前多渠道打包和自定义apk名字的设置:

1、manifest中增加节点

        
        

2、app module的build.gradle的android中

android {
        ....
        //多渠道打包
        productFlavors {
            yingyongbao {}
            huawei {}
            baidu {}
            wandoujia {}
            xiaomi {}
            qh360 {}
            vivo {}
            meizu {}
            oppo {}

        }
        productFlavors.all {
            flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
        }

        //自定义打包时apk名字
        android.applicationVariants.all { variant ->
            variant.outputs.each { output ->
            // abc_渠道名_版本名.apk
            def fileName = "laihui_${variant.productFlavors[0].name}_${defaultConfig.versionName}.apk"
            output.outputFile = new File(output.outputFile.parent, fileName)
            }
        }
      ....
}

最后打包之后apk放在app文件夹下,apk名字:abc_渠道名_版本名.apk

android studio3.0之后多渠道打包和自定义apk名字的设置:

1、manifest中增加节点(和以前没有变化)

        
        

2、app module的build.gradle的android中

android {
        ....
        //多渠道打包
        flavorDimensions "default"
        productFlavors {
            yingyongbao { dimension "default" }
            huawei { dimension "default" }
            baidu { dimension "default" }
            wandoujia { dimension "default" }
            xiaomi { dimension "default" }
            qh360 { dimension "default" }
            vivo { dimension "default" }
            meizu { dimension "default" }
            oppo { dimension "default" }
        }
        productFlavors.all {
            flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
        }

        //自定义打包时apk名字
        android.applicationVariants.all { variant ->
              variant.outputs.all {
                // abc_渠道名_版本名.apk  还可以拼接其他app内容:variant.versionCode  variant.buildType.name 
                outputFileName = "abc_${variant.name}_${variant.versionName}.apk"
             }
        }
      ....
}

最后打包之后apk放在app文件夹对应的渠道文件夹下,apk名字:abc_渠道名_版本名.apk

你可能感兴趣的:(Android studio 多渠道打包以及自定义apk名字在3.0前后的变化)