如何确定 kotlin-multiplatform 项目中的构建类型

Die*_*mar 5 android gradle kotlin kotlin-native kotlin-multiplatform

我正在开发一个多平台项目,iOS 和 JVM(我不直接针对 Android)。根据构建类型(调试或发布),我想配置日志记录级别(即仅打印发布中的错误)。由于没有BuildConfig可用的类,我如何从commonMain构建类型中知道?

jos*_*ias 22

不是问题的直接答案,但对于 android/ios 可以定义这样的属性:

共同点主要:

expect val isDebug: Boolean
Run Code Online (Sandbox Code Playgroud)

在 androidMain 中:

import com.yourPackage.BuildConfig

actual val isDebug = BuildConfig.DEBUG
Run Code Online (Sandbox Code Playgroud)

在 iosMain 中:

import kotlin.native.Platform

actual val isDebug = Platform.isDebugBinary
Run Code Online (Sandbox Code Playgroud)

注意:对于 Android BuildConfig,您可能需要将其添加到应用程序的 Build.Config 中

android {
    buildFeatures {
        buildConfig = true
    }
}
Run Code Online (Sandbox Code Playgroud)