Android Studio 构建变体(Build Variant)

每一个 Build Variant 代表一个应用的不同版本,例如一个应用可以有免费版,和收费版,或者针对不同的设备的版本。

构建变体由一种 Build Type 和一种 Product Flavor 组成。
例如,有以下Build Type 和 Product Flavor:

Build Type :release , debug
Product Flavor : free, vip

那么最终会有组成四种 Build Variant

freeRelease, freedebug, vipRelease, vipDebug

四种Build Variant 可以有公共的代码和资源,和各自差异化的代码和资源

配置Build Type

在模块级别的 build.gradle

android {
    buildTypes{
         //默认创建
         release {
         }
         //默认创建
         debug{
         }
         //新增
         jniDebug{

         }
    } 
}

配置Product Flavor

同样是在模块级的 build.gradle, Product Flavor 多了一个概念,叫做维度(Dimension), 不同的维度又可以组合成一种新的 Variant。

如下,是定义了两种维度,收费维度和区域维度,不同维度之间可以再组合。

Android Studio 构建变体(Build Variant)_第1张图片

配置如下:

android {
    //声明有两种维度,pay和area
    flavorDimensions "pay","area" 
    productFlavors {
        free {
            dimension "pay"
        }

        vip {
            dimension "pay"
        }

        cn {
            dimension "area"
        }

        us {
            dimension "area"
        }  
    }
}

在工程的 src目录中,建立四种 flavor 对应的文件夹,加上 src/main ,最终目录如下:

src/main
src/free
src/vip
src/cn
src/us

我们可以在 src/main 中放公共代码和资源,在每一种 flavor 对应的文件夹下,放差异化的代码。

你可能感兴趣的:(Android)