基于多个productFlavors的依赖项

时间:2018-02-01 15:12:20

标签: android android-gradle

我的申请中有2 buildTypes和5 productFlavors

buildTypes {
    debug {
        debuggable true
    }

    release {
        debuggable false
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

flavorDimensions "default"

productFlavors {
    dev {
        dimension "default"
        applicationIdSuffix ".dev"
        versionNameSuffix "_dev"
    }

    qa {
        dimension "default"
        applicationIdSuffix ".qa"
        versionNameSuffix "_qa"
    }

    demo1 {
        dimension "default"
        applicationIdSuffix ".demo"
        versionNameSuffix "_demo"
    }

    demo2 {
        dimension "default"
        applicationIdSuffix ".demo2"
        versionNameSuffix "_demo2"
    }

    prod {
        dimension "default"
    }
}

然后,我有很多dependencies

dependencies {
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support:cardview-v7:25.3.1'
    compile 'com.android.support:design:25.3.1'
    compile 'com.android.support:customtabs:25.3.1'

    compile 'com.jakewharton:butterknife:8.5.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'

    // this is the dependency I would like to modify
    compile 'com.appsee:appsee-android:2.3.4'
}

我的目标是配置只有在build variant为以下之一时才添加其中一个依赖项的内容:demo2Debugdemo2ReleaseprodDebug和{{ 1}}

我查看了许多答案(例如thisthis),他们一次只做一个构建变体。有什么方法可以说:

包含这个库是构建变体是这个,这个,这个还是这个?

修改

实现此目标的另一种方法是从一个特定的构建变体中排除依赖项。

除此之外,我有什么方法可以说包含所有构建变体的依赖项吗?

0 个答案:

没有答案