仅将依赖性添加到特定的风格 - Android Studio

时间:2015-09-05 05:56:17

标签: android gradle google-play-services android-gradle build.gradle

我的项目有免费和付费版本,

免费版使用Admob服务,但付费版没有任何广告。  如何删除付费版本的依赖关系

这是我的build.gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.udacity.gradle.builditbigger"
        minSdkVersion 10
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        testApplicationId"com.udacity.gradle.builditbigger.tests"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors{
        free{
            applicationId"com.udacity.gradle.builditbigger.flavours.free"
        }
        paid{

            applicationId"com.udacity.gradle.builditbigger.flavours.paid"
        }


    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    // Added for AdMob

    compile project(':mylibrary')
    compile project(path: ':endpoint-backend', configuration: 'android-endpoints')
    compile 'com.android.support:appcompat-v7:22.2.0'


        compile 'com.google.android.gms:play-services:7.5.0'


}

我希望依赖项编译'com.google.android.gms:play-services:7.5.0'仅适用于免费版本,但不适用于付费版本。

1 个答案:

答案 0 :(得分:6)

要为不同的构建类型或风格添加不同的依赖项,可以使用此

dependencies {
    releaseCompile 
    debugCompile 
    flavor1Compile 
    flavor1DebugCompile 
}

在你的情况下:

 dependencies {
     freeCompile 'com.google.android.gms:play-services:7.5.0'
 }

此外,如果你需要olny Admob,你应该使用这种依赖而不是完整的播放服务。

   compile 'com.google.android.gms:play-services-ads:7.8.0'