build type和product flavors
一、简介
1、概念区分
build type是用来区分你的开发周期,如debug和release,只是两个不同的开发阶段,他们在功能上对用户来说其实并没有什么不同,实际的差别可能是debug版本会打印一些日志或者执行一些调试代码,实际上它们是同一个app;而product flavors用于区分你的策略,这使得它们已经是不同的app了,常见的策略如免费版本vs收费版本,多个渠道包等。
2、参数配置
由于build type和product flavors在定位上的不同,因此在build.gradle中buildType和productFlavor中的配置参数也各不相同。
buildType 主要配置app的打包
- shrinkResources
- proguardFile
- etc
productFlavor 配置不同的类和资源
- 不同的代码实现
- 不同的appName
- etc
productFlavor中可以覆盖defaultConfig中的参数
- applicationId
- minSdkVersion
- targetSdkVersion
- versionCode
- versionName