1 基础知识
1.1 productFlavors
gradle中有一个功能叫做变体「productflavors」,这是来为APP设置不同的打包配置,以实现多渠道打包的一种方案。
android {
productFlavors {
baidu {
}
_360 {
}
yingyongbao {
}
}
1.2 buildTypes
gradle中打包编译类型「buildTypes」,主要区分:debug和release类型。
android {
buildTypes {
debug {
}
release {
}
}
1.3 结果
(1)这样的话最后打包的时候就可以生成9种包:
· baiduDebug
· baiduRelease
· _360Debug
· _360Release
· yingyongbaoDebug
· yingyongbaoRelease
(2)在Android Studio左下角可以找到并在每次build的时候选择不同种类的包:
2 实现分渠道配置
2.1 配置java变量
(1)在gradle中有一个功能叫「buildConfigField」,可以在系统的buildconfig中设置一个值。如下:
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String APPLICATION_ID = "org.guan.demo";
public static final String BUILD_TYPE = "debug";
public static final String FLAVOR = "baidu";
public static final int VERSION_CODE = 1;
public static final String VERSION_NAME = "1.0.0";
}
(3