我正在将我的一个应用程序转换为Gradle,并希望使用新的构建风味功能来拥有付费和免费的基于广告的风味。
我只希望基于广告的版本依赖于admob SDK。
我的构建文件看起来像这样:
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 {
}
}
}
}
dependencies {
compile 'com.android.support:support-v4:18.0.+'
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
compile fileTree(dir: 'libs', include: '*.jar')
}
有没有一种方法可以在自由产品风味中配置依赖项,使其拥有自己的libs文件夹,并与包含两种风味通用库的主libs文件夹合并?
如果可能的话,我该如何定义这个文件夹?
6条答案
按热度按时间tpgth1q71#
要定义特定于风味的依赖项,您可以在依赖项部分使用
proCompile
而不是compile
。当您运行gradle属性时,您可以获得自动创建的配置的概述。正确的构建文件如下所示:
ntjbwcob2#
快进到2018年年中。您将需要添加
flavorDimensions
。此外,请注意:
配置“compile”已过时,已被“implementation”和“api”取代。它将在2018年底被删除。有关详细信息,请参阅:http://d.android.com/r/tools/update-dependency-configurations.html
i86rm4rw3#
简单:
或者只是:
fjaof16o4#
您需要手动为每种风味添加配置。示例
nnt7mjpx5#
**编辑:**我建议使用其他技术之一!
另一个被接受的答案是:
gmol16396#
如果您将Gradle与Kotlin一起使用(build.gradle.kts),则可以添加自定义风味的依赖项,如下所示: