代码之家  ›  专栏  ›  技术社区  ›  Perry Hoekstra

访问内部版本。格拉德尔。kt值

  •  0
  • Perry Hoekstra  · 技术社区  · 4 年前

    问题是:如何从Kotlin代码访问构建中存在的任意值。格拉德尔。kt?

    如果我的内部版本中有以下条目。格拉德尔。kt文件(正在尝试添加功能标志):

    android {
        ...
    
    
    buildTypes {
        getByName("debug") {
            buildConfigField("Boolean", "FOO", "true")
        }
        getByName("release") {
            buildConfigField("Boolean", "FOO", "false")
        }
    }
        ...
    }
    

    在Kotlin代码中访问FOO值的一种方法是:

    class FeatureFlag {
        fun isFeatureEnabled(): Boolean = BuildConfig.FOO
    }
    
    0 回复  |  直到 4 年前
        1
  •  1
  •   Tenfour04    4 年前

    使用 buildConfigField 而不是 resValue . 相同的参数。然后在Kotlin代码中:

    class FeatureFlag {
        fun isFeatureEnabled(): Boolean =
            BuildConfig.FOO.toBoolean()
    }
    

    虽然我不知道为什么不使用“boolean”类型作为开头,而不是必须在运行时转换为boolean的字符串。