【问题标题】:Why are all my Gradle product flavors building?为什么我的所有 Gradle 产品风味都在构建?
【发布时间】:2013-08-12 22:18:26
【问题描述】:

我在一个使用 gradle 构建的 android 项目中有两种产品风格。

其中一种风格声明了一个额外的依赖项,但实际上该依赖项在两种风格中都使用了。两种风味都可以构建,因为其中一种风味依赖于仅针对第一种风味声明的库,而这种情况不应该是这种情况。

由于其中一种风格是最终不应该在 apk 中包含 admob SDK 的专业版,我现在担心由于某种原因两种风格都添加了 admob SDK。

我有以下 build.gradle 文件:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }

    productFlavors {
        Pro {
            packageName "de.janusz.journeyman.zinsrechner.pro"
        }
        Free { 
            dependencies {
                compile files('src/Free/libs/admob.jar')
            }
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:18.0.+'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    compile fileTree(dir: 'libs', include: '*.jar')
}

【问题讨论】:

  • 也许您应该删除 compile fileTree(dir: 'libs', include: '*.jar') 并仅添加所需的依赖项。

标签: android gradle


【解决方案1】:

仅为一种产品风味添加依赖项的正确方法是:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }

    productFlavors {
        pro {
           packageName "de.janusz.journeyman.zinsrechner.pro"
        }
        free { }
    }
}

dependencies {
    compile 'com.android.support:support-v4:18.0.+'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    compile fileTree(dir: 'libs', include: '*.jar')
    freeCompile files('src/Free/libs/admob.jar')
}

【讨论】:

    猜你喜欢
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    • 2013-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多