在原生 android 项目中,我们可以定义 BuildConfig 变量,这些变量可以根据所选的构建类型(调试或发布)进行更改。为此,我们可以在应用程序级别的 gradle 文件中添加以下代码
buildTypes {
release {
buildConfigField 'String', "BASE_URL", '"https://stackoverflow.com/"'
}
debug {
buildConfigField 'String', "BASE_URL", '"https://qa.stackoverflow.com/"'
}
}
如果可能的话,我期待创建这样的全局配置变量,可以从共享模块以及 Android 和 iOS 模块访问。我怎么能做到这一点?
最佳答案
您可以查看 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 的示例)
关于gradle-kotlin-dsl - 在 KMM 中定义全局配置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67776528/