相关疑难解决方法(0)

buildConfigField取决于flavor + buildType

我试图定义一个buildConfigVariable取决于香精 + buildType.理想情况下,这就是我想要的

productFlavors {
    strawberry {
        buildConfigField "String", "WS_API_KEY", name + variant.buildType.name
    }
    ... more flavors ..
}
Run Code Online (Sandbox Code Playgroud)

name确实包含"strawberry",但我不知道是否可以访问variantbuildType.

放置在Android闭包之外我可以访问BuildType变体,但后来我无法调用buildConfigField

android.applicationVariants.all { variant ->
    println "****************************"
    println "variant: ${variant.name}"
    println "flavor: ${variant.flavorName}"
    println "****************************"

    if (variant.buildType.name == 'release') {
        if (variant.flavorName == 'strawberry') {
            buildConfigField "String", "WS_API_KEY", '"strawberry_release"'
        } else {
            buildConfigField "String", "WS_API_KEY", '"chocolate_release"'
        }
    } else if(variant.buildType.name == 'debug') {
        if …
Run Code Online (Sandbox Code Playgroud)

android android-gradle-plugin android-productflavors

15
推荐指数
1
解决办法
9655
查看次数

如何从其他构建风格导入一个类

我的项目结构如下所示

+ src
        + main // this is my common code
            + java 
                - LoginScreen // depending on condition launch screen from flavor1 or flavor2 
            + res
        + flavor1
            + java
            + res
        + flavor2
            + java
            + res
Run Code Online (Sandbox Code Playgroud)

根据条件,我在main/src 中有 Login 类,必须从flavor1 或flavor2 启动屏幕。

例如:

class LoginScreen{
......

    if(true){
        // launch ScreenUser from Flavor1 reset of screen flows from falvour1
    }else{
       // launch ScreenOTP from Flavor2 reset of screen flows from falvour2
    }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果我为 flavor1 进行构建,它会显示 …

android android-studio build.gradle android-gradle-plugin android-build-flavors

1
推荐指数
1
解决办法
1190
查看次数