Android Studio 是否支持子口味?

sam*_*sam 5 android-studio android-gradle-plugin android-productflavors

我有一个 Android Studio 项目,目前在 build.gradle 中有 2 种产品风格,如下所示:

productFlavors {
        parent {
            applicationId "xxx.parent"

        }
        teacher {
            applicationId "xxx.teacher"
        }
    }
Run Code Online (Sandbox Code Playgroud)

两种风格在 src/main 下都有一些共同的代码

我需要的是 1 级以上的风味,所以我希望在一种风味下有 1 级定制的子风味(对于某些资源和一些静态变量)

所以我想要类似于下面的东西:

productFlavors {
        parent {
            p1 {
                applicationId "xxx.parent.p1"
               }
            p2 {
                applicationId "xxx.parent.p2"
               }
        }
        teacher {
            t1 {
                applicationId "xxx.teacher.t1"
            }
            t2 {
                applicationId "xxx.teacher.t2"
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

所以我的目标是拥有 2 种类型的应用程序(老师和家长),每个都可以自定义 n 次(它们会因应用程序 ID、资源文件和静态变量而异)

知道如何实现吗?

pet*_*tos 3

是的,Gradle 支持子口味-flavorDimensions。例如:

flavorDimensions "server", "lib"

productFlavors {
    pub {
        dimension "server"
        minSdkVersion 19
        resValue "string", "app_version_name", mVersionName
    }
    beta {
        dimension "server"
        minSdkVersion 9
        resValue "string", "app_version_name", mVersionName + "beta"
    }
    xwalk {
        dimension "lib"
    }
    webkit {
        dimension "lib"
    }
Run Code Online (Sandbox Code Playgroud)

  • 除非我错过了什么,否则这段代码显示可以有单独的维度,但没有告诉任何有关子调味的信息 (3认同)