Android打包的那些事

734 查看

使用gradle打包apk已经成为当前主流趋势,我也在这个过程中经历了各种需求,并不断结合gradle新的支持,一一改进。在此,把这些相关的东西记录,做一总结。

 

1. 替换AndroidManifest中的占位符

我想把其中的${app_label}替换为@string/app_name

如果只想替换debug版本:

更多的需求是替换渠道编号:

 

2. 独立配置签名信息

对于签名相关的信息,直接写在gradle当然不好,特别是一些开源项目,可以添加到gradle.properties:

然后在build.gradle中引用即可:

如果不想提交到版本库,可以添加到local.properties中,然后在build.gradle中读取。

 

3. 多渠道打包

多渠道打包的关键之处在于,定义不同的product flavor, 并把AndroiManifest中的channel渠道编号替换为对应的flavor标识:

注意一点,这里的flavor名如果是数字开头,必须用引号引起来。
构建一下,就能生成一系列的Build Variant了: