4

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

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

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

4

1 回答 1

4

你可以看看BuildKconfig

例如:

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的示例)

于 2021-05-31T16:24:45.247 回答