问题描述
在原生 android 项目中,我们可以定义 BuildConfig 变量,这些变量可以根据所选的构建类型(调试或发布)进行更改。为此,我们可以在应用级 gradle 文件中添加以下代码
buildTypes {
release {
buildConfigField 'String',"BASE_URL",'"https://stackoverflow.com/"'
}
debug {
buildConfigField 'String','"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,"http://0.0.0.0:8080/")
}
}
(来自 https://github.com/halcyonmobile/MultiplatformPlayground/blob/master/common/build.gradle.kts 的示例)