我正在将我的一个应用程序转换为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')
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在免费产品风格中配置依赖项,使其拥有自己的libs文件夹,该文件夹与包含两种风格的通用库的主libs文件夹合并?
如果可能,我该如何定义此文件夹?
我有一个图书馆项目和一个应用程序.我想为图书馆和应用程序提供2种产品口味(商店,开发).当我为应用程序构建商店风味时,我想使用库中的商店风味.此外,当我为应用程序构建dev风格时,我想使用库中的dev风格.我尝试为库和应用程序设置相同的产品风格,但它不起作用.
这是我的配置:
图书馆
apply plugin: 'android-library'
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
applicationId "ro.amarkovits.graddletest.lib"
minSdkVersion 14
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors{
store{
}
dev{
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
Run Code Online (Sandbox Code Playgroud)
我有这些文件:src/main/res/values/strings.xml和src/store/res/values/strings.xml
应用
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion '19.1.0'
defaultConfig {
applicationId 'ro.amarkovits.mymodule.app'
minSdkVersion 14 …Run Code Online (Sandbox Code Playgroud)
我有一个Android应用程序,我想有不同的口味.具体来说,我想有2种口味,每种口味使用不同的字符串(不同的strings.xml文件),也许有一些不同的图标.
我曾尝试创建项目的根文件夹两个文件夹:flav1和flav2并用以下build.gradle
android {
compileSdkVersion "Google Inc.:Google APIs:15"
buildToolsVersion "17.0.0"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
instrumentTest.setRoot('tests')
}
productFlavors {
flav1 {
packageName "com.ic.flav1"
}
flav2 {
packageName "com.ic.flav2"
}
}
android.sourceSets.flav2 {
res {
srcDir 'flav2'
}
resources {
srcDir 'flav2'
}
}
android.sourceSets.flav1 {
res {
srcDir 'flav1'
}
resources {
srcDir …Run Code Online (Sandbox Code Playgroud)