我正在将我的一个应用程序转换为 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 文件夹合并?
如果这是可能的,我将如何定义这个文件夹?
要定义特定风味的依赖项,您可以使用proCompile而不是compile在依赖项部分中使用。当您运行 gradle 属性时,您会获得自动创建的配置的概述。
proCompile
compile
正确的构建文件如下所示:
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.2.3' } } apply plugin: 'com.android.application' repositories { mavenCentral() } android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { minSdkVersion 10 targetSdkVersion 22 } productFlavors { pro { packageName "de.janusz.journeyman.zinsrechner.pro" } free { } } } dependencies { compile 'com.android.support:support-v4:22.2.0' freeCompile 'com.google.android.gms:play-services-ads:7.5.0' }