Android多渠道打包

来源:互联网 发布:网站域名价值评估网 编辑:程序博客网 时间:2024/06/11 13:07

一、传统并且主流的方法:Gradle打包
1、在AndroidManifest.xml配置

<meta-data    android:name="UMENG_CHANNEL"    android:value="${UMENG_CHANNEL_VALUE}" />

2、在build.gradle配置

android {        productFlavors {            wandoujia{}            xiaomi{}            qq{}            _360 {}        }        productFlavors.all {            flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]        }    }

3、其实上面两部基本已经完成整个多渠道的配置,但是我比较喜欢对gradle打包定制化
比如:修改打包的apk的名称

applicationVariants.all { variant ->        variant.outputs.each { output ->            def outputFile = output.outputFile            if (outputFile != null && outputFile.name.endsWith('.apk')) {                def fileName = "MyApplication_${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"                output.outputFile = new File(outputFile.parent, fileName)            }        }    }

这种方法是普遍多渠道打包的一种方式,一般渠道不多的话,这种打包比较适合,渠道多的话,效率会比较低

二、利用python脚本多渠道打包:美团目前用的多渠道打包方法
1、配置python运行环境:https://www.python.org/下载安装
2、下载打包脚本:https://github.com/GavinCT/AndroidMultiChannelBuildTool
3、打包的apk文件拷贝到PythonTool目录下(与py同级)
4、在PythonTool/Info/channel.txt中编辑渠道列表,每写一个渠道名,换行即可
5、双击运行py脚本即可打包完成,并且把ChannelUtil.java(查询apk是什么渠道的)放到工程里面去
这种多渠道打包方法就是快快快

0 0
原创粉丝点击