Android 为什么我所有的Gradle产品都在构建?
我在一个用gradle构建的android项目中有两种产品风格 其中一种口味声明了一个额外的依赖项,但实际上这两种口味都使用了该依赖项。这两种风格都是构建的,因为其中一种风格依赖于仅为第一种风格声明的库,而第一种风格不应如此 由于其中一个版本是pro版本,最终不应该在apk中使用admob SDK,我现在担心出于某种原因,这两个版本都会添加admob SDK 我有以下build.gradle文件:Android 为什么我所有的Gradle产品都在构建?,android,gradle,Android,Gradle,我在一个用gradle构建的android项目中有两种产品风格 其中一种口味声明了一个额外的依赖项,但实际上这两种口味都使用了该依赖项。这两种风格都是构建的,因为其中一种风格依赖于仅为第一种风格声明的库,而第一种风格不应如此 由于其中一个版本是pro版本,最终不应该在apk中使用admob SDK,我现在担心出于某种原因,这两个版本都会添加admob SDK 我有以下build.gradle文件: buildscript { repositories { mavenCen
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')
}
仅为一种产品风味添加依赖项的正确方法是:
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')
}
也许您可以删除compilefiletree(dir:'libs',include:'*.jar'),只添加所需的依赖项。