一.我们在做项目时候,有时候需要同一份代码,打包出不同的包名,或者打一个测试包,正式包,这时候android多渠道打包就派上用场了。
举个例子了,假设我们有四个维度,设备渠道,发布渠道,开发接口域名,日志级别字段,我们需要在打包时候不修改代码,仅仅通过打包控制,
打出不同的apk,通过gradle配置控制来实现。直接看gradle配置
其中 "manufacture_channel" ,"umeng_channel" ,"domain","log_level"四个分别字段为我们要控制的维度
skyworth,inphic,tcl是属于 manufacture_channel维度
dev ,format属于doimain维度,其它几个分别属于各自的维度
在打包的时候就会出现这样的选项了
接下来我们要在代码里读取这个几个字段了,
这样就可以在代码中根据不同字段,去处理对应的操作,比如我们如果读取到domain是dev,初始化的接口的域名就是测试地址,否则正式地址
二.我们打包时候有时候需要根据对应的这几个维度,打包出apk,使得根据apk名字就知道打的apk对应的是哪个渠道,哪个版本的。那么就需要用到自定义打包文件名字了,直接看gradle配置吧
我们将我们刚才的四个维度都拼接到输出名字后面,看看打包输出的名字吧
这样在app下面就出现不同的apk了,一目了然
当渠道多了,就用这种方式打包,测试也不用担心你发错版本了。本来想把github代码提交,发现重装了系统,git没装,算了。