【发布时间】: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') 并仅添加所需的依赖项。