如何打造味道?

时间:2013-10-31 09:20:10

标签: android gradle android-productflavors

我有一个gradle.build,可以很好地完成主要目标。我想为皮肤版添加味道。我已将它们添加到gradle构建中,但我不明白我应该在哪里放置另一个版本的文件,在哪个文件夹中它应该是什么名称?让我们考虑一个例子:主包是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')
        }
    }

1 个答案:

答案 0 :(得分:3)

您应该在flavor下创建一个名为src的子文件夹。 flavor子文件夹的结构与main

的结构相同
  • java - 包含所有.java源文件
  • res - 包含Android资源子文件夹(可绘制,布局,值等)
  • 的AndroidManifest.xml