【问题标题】:Define global configuration variables in KMM在 KMM 中定义全局配置变量
【发布时间】:2021-08-18 22:11:41
【问题描述】:

在原生 android 项目中,我们可以定义 BuildConfig 变量,这些变量可以根据选择的构建类型(调试或发布)进行更改。为此,我们可以在应用级 gradle 文件中添加以下代码

buildTypes {
    release {
        buildConfigField 'String', "BASE_URL", '"https://stackoverflow.com/"'
    }
    debug {
        buildConfigField 'String', "BASE_URL", '"https://qa.stackoverflow.com/"'
    }
}

我期待创建这样的全局配置变量,如果可能的话,可以从共享模块和 Android 和 iOS 模块访问。我怎样才能做到这一点?

【问题讨论】:

    标签: gradle-kotlin-dsl kotlin-multiplatform kmm


    【解决方案1】:

    您可以查看BuildKonfig

    举个例子:

    buildkonfig {
        packageName = "com.halcyonmobile.multiplatformplayground"
        val baseUrl = "baseUrl"
        defaultConfigs {
            buildConfigField(
                Type.STRING,
                baseUrl,
                "https://halcyon-multiplatform-backend.herokuapp.com/"
            )
        }
        defaultConfigs("dev") {
            buildConfigField(Type.STRING, baseUrl, "http://0.0.0.0:8080/")
        }
    }
    

    (来自https://github.com/halcyonmobile/MultiplatformPlayground/blob/master/common/build.gradle.kts的示例)

    【讨论】:

    • 感谢您的回答。我看过这个库,但我正在寻找这个常见用例的平台支持。
    • @CodeCameo 还没有平台支持
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多