多渠道包的build相信广大android开发者应该很熟悉了,既可以用ant,写一写正则替换然后build出n个apk,
有时后情况会更复杂些,你比如你有一个app,需要build出一些单行本,代码基本和主app一致,这是后怎么打包是一个需要好好考虑的问题。
本来如果只是多渠道buildname问题的规模实际上是1xN,现在变成了mXN,单纯用ant或则gradle都会非常痛苦。
现在我们来讲讲解决方案,思路是gradle flavor+shell脚本控制渠道。
所以先只考虑各种单行本的build,通过配置build.gradle添加需要的flavor并设置资源目录,这样可以build出不同的单行本,接下来在利用sed对manifest进行编辑,主要是替换到mata-data中的value值,但这些都成功后在整合到一个脚本文件里,以后build时只需修改配置文件就可以了。
这里只是讲了解决思路,具体的脚本已经冲工程中抽取出来放在github,希望对碰到类似问题的朋友有借鉴作用。
https://github.com/avenwu/buildtool