2013-10-31 42 views
1

我有一个为主要目标工作正常的gradle.build。我想添加皮肤版本的风味。我已经将它们添加到gradle build中,但我不明白我应该在哪里放置另一个版本的文件,在哪个文件夹中以及它应该是什么名称?让我们考虑一个例子:主包是com.example.app与android应用程序共同的项目结构(我在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:[email protected]' 
    compile 'com.android.support:support-v4:18.0.+' 
    compile 'com.google.android.gms:play-services:[email protected]' 
    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') 
     } 
    } 

回答

3

您应该创建一个src下名为flavor子文件夹的变化。所述flavor子文件夹的结构是相同的的main结构:

  • 的java - 包含所有.java源文件
  • RES - 包含的Android资源的子文件夹(可拉伸,布局,值等)
  • AndroidManifest.xml