前言:
在我们平时做项目时,总会遇到一些奇葩的要求,多渠道打包算是比较简单和常见的了,例如同时安装测试版和发布版,以及一套代码维护十几个不同的APP,这种需求也不少人遇到过,如果你不懂一些技巧,那么这些需求实现起来一定非常痛苦,所以我们接下来就介绍一下如何活用productFlavors,实现这些奇葩的需求
1. 简单使用
productFlavors直译过来就是特色的产品,所以他的主要作用就是让你同一套代码生产出不同的特色产品
productFlavors是build.gradle里面配置的,主要就是通过gradle打包时可以有多种配置供选择,类似buildTypes,并且可以和buildTypes共存
使用时在android{ }里面增加即可,我们下面简单的定义两个产品,一个是general,一个是vip,我们在里面给这两个产品定义不同的applicationId,这样就能同时安装了
(Android Studio里面,真正区分APP的是applicationId)
android {
productFlavors{
general{
applicationId "com.xiayu.flavorsdemo.general"
}
vip{
applicationId "com.xiayu.flavorsdemo.vip"
}
}
}
这个时候我们就可以产生两个不同的产品了,接下来就要介绍怎么打包这两个产品了
(注意!每次修改了build.gradle,都必须同步(sync)一下,不然是不会生效的,这一点不少新人经常会忽略)
首先如果你不去选择的话默认是会打包最上面的产品,通过左下角的Build Variants可以自己选择打包的类型
我们可以看见上图是有四种产品供我们打包选择,这是因为与buildTypes共存时相互组合的结果
2. 特色图标
我们目前只是实现了同时安装,但是既然是特色产品,总会需要一些自己的特色,比如图标不一样
我们需要先在src目录下创建两个与产品同名的文件夹(下面简称产品文件夹)