具有不同资源的两种风格从一种基本风味继承布局

Mik*_*ter 8 android gradle android-studio build.gradle android-gradle-plugin

我的Android应用程序分为四种不同的构建风格.这些风味剂的具有独特的部分javaxml文件,并在共享文件的一部分main.为了清楚起见,我们调用这些Cucumber,Tomato,OnionPepper.这些风味有独特的布局,drawables,字符串,颜色,java文件等.

我的要求是现在我需要将我的Pepper味道分成两种子味道; Red-PepperGreen-Pepper.这两种口味的布局应该是相同的 - 唯一不同的是两种口味必须使用不同的drawablestring资源.出于显而易见的原因,我不希望在红色和绿色两种形式中都有重复的布局文件.

如何实现这一目标gradle

Gab*_*tti 6

您可以定义多个资源文件夹.
通过这种方式,您可以使用两种常用文件夹(在redPepper和greenPepper中).
例如这样的事情:

android {
     ...
     sourceSets {
            main {
                //....
                res.srcDirs = ['/src/main/res']

            }
            redPepper {
                 res.srcDirs = ['/src/flavorRed/res', '/src/commonPepper/res']
            }
            greenPepper {
                 res.srcDirs = ['/src/flavorGreen/res', '/src/commonPepper/res']
            }     
            //.....other flavors   
     }
}
Run Code Online (Sandbox Code Playgroud)

  • 我不知道为什么,但是直到我删除了前导斜杠,这个解决方案才对我有用。'src/commonPepper/res' 工作 (2认同)