Je convertis l'une de mes applications en Gradle et j'aimerais utiliser les nouvelles fonctionnalités de création de saveur pour avoir une saveur payante et gratuite basée sur les publicités.
Je souhaite que seule la version basée sur les annonces dépende du SDK admob.
Mon fichier de construction ressemble à ceci:
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')
}
Existe-t-il un moyen de configurer la dépendance dans la version gratuite du produit pour avoir son propre dossier libs qui est fusionné avec le dossier libs principal qui contient les bibliothèques générales pour les deux versions?
Si cela est possible, comment définirais-je ce dossier?
android
gradle
android-build
Janusz
la source
la source
Réponses:
Pour définir une dépendance spécifique à une saveur, vous pouvez utiliser à la
proCompile
place decompile
dans votre section de dépendance. Lorsque vous exécutez les propriétés de gradle, vous obtenez une vue d'ensemble des configurations créées automatiquement.Le fichier de construction correct ressemble à ceci:
la source
Error:(28, 0) Build script error, unsupported Gradle DSL method found: 'glassCompile()'!
(La saveur à laquelle j'essaye d'ajouter une dépendance est "verre".)dependencies
bloc sous leandroid
bloc. Comme c'est intuitif.xxxCompile
fermetures générées par Gradle ne fonctionneront pas si le nom de la saveur commence par une majuscule.Avance rapide jusqu'à mi-2018. Vous devrez ajouter
flavorDimensions
.Notez également:
la source
Vous devez ajouter manuellement la configuration pour chaque saveur. Exemple
la source
Edit: je recommande d'utiliser l'une des autres techniques!
Une alternative à la réponse acceptée est la suivante:
la source
Facile:
ou juste:
la source