我有一个 gradle.build 可以很好地实现主要目标。我想为蒙皮版本添加风味。我已将它们添加到 gradle build 但我不明白我应该将另一个版本的文件放在哪里,在哪个文件夹中以及它应该是什么名称?让我们考虑一个例子:主包是 com.example.app,项目结构对 android app 来说是通用的(我在 sourceSets 中做)。据我了解,我应该创建文件夹(不是一组子文件夹) com.example.app.flavor 并放入已经包含主项目文件的 \res 但它不起作用;当我构建 assembleFlavorDebug 时不起作用 - 构建了 apk 但它包含主应用程序,但风味没有变化
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile 'commons-io:commons-io:2.4'
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
compile 'com.android.support:support-v4:18.0.+'
compile 'com.google.android.gms:play-services:3.2.+@aar'
compile project(':ViewPagerIndicator')
compile project(':AndroidHorizontalListView')
}
android {
compileSdkVersion 18
buildToolsVersion "18.1.0"
productFlavors {
app {
packageName="com.example.app"
}
flavor {
packageName="com.example.app.flavor"
}
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
signingConfigs {
debug {
storeFile file('../debug.keystore')
}
}