多渠道打包,同一套代码,多包名APK

由于项目需要,设计了一款APP,等我们代码都码完了,说还需要另外两款APP跟现在做出来的这个界面差不多,在现有的基础上增加点或者减少一点功能。想到不能在重新写两个APP啊。不然要写到什么时候去了,于是就在网上搜索一下多渠道打包,觉得相当有用,就准备记录下来。

多渠道打包,同一套代码,多包名APK

这是项目结构,抹去的三个是对应的三个项目所包含的不同的资源文件,都在src目录下。多渠道打包,同一套代码,多包名APK多渠道打包,同一套代码,多包名APK

这个是manifest的配置,${app_icon},相当于打包的时候,会去gradle的mainfestPlaceholders下面的app_icon 取对应的图片

这个<meta-data>标签和app_icon是同样的原理去gradle的mainfestPlaceholders下面的UMENG_CHANNEL_VALUE(随便写的,我是直接粘贴的) 取对应的值

接下来就是gradle 的配置了


多渠道打包,同一套代码,多包名APK

先把defaultConfig的东西全部注释掉了,每个包的配置不一样。

多渠道打包,同一套代码,多包名APK

在gradle 配置 productFlavors 里面就是每个渠道的包的不同配置了