KMP中的BuildConfig

前言

Android开发中BuildConfig很方便,可以自动的生成是否Debug,版本名,版本号等属性

也可以通过gradle配置来自定义生成的属性

而KMP中并没有这样的方式,导致开发方面并不方便

而像DEBUG这样的属性如果手动去修改代码则非常容易出现问题

我都想用ksp写一个,好在发现有人写了一个,还很好用

yshrsmz/BuildKonfig: BuildConfig for Kotlin Multiplatform Project (github.com)

正文

使用这个库可以直接生成KMP的BuildConfig

//kmp的BuildConfig
buildkonfig {
    packageName = "com.lt.dygzs.common.config"//包名
    objectName = "BuildConfig"//类名
    exposeObjectWithName = "BuildConfig"//类名
    val version = 100

    //common中的值
    defaultConfigs {
        buildConfigField(BOOLEAN, "DEBUG", isReleaseBuildType().not().toString())
        buildConfigField(INT, "VERSION_CODE", version.toString())//设置全局的版本号
        buildConfigField(STRING, "VERSION_NAME", version.toString().toCharArray().joinToString("."))//设置全局的版本名1.0.0
    }
    //特定target中的值
    targetConfigs {
        create("android") {
            buildConfigField(BOOLEAN, "name", "value")
        }
    }
}

这样生成的类大概是这样
common:

public expect object BuildConfig {
  public val DEBUG: Boolean

  public val VERSION_CODE: Int

  public val VERSION_NAME: String
}

android(或其他平台):

public actual object BuildConfig {
  public actual val DEBUG: Boolean = true

  public actual val VERSION_CODE: Int = 100

  public actual val VERSION_NAME: String = "1.0.0"

  public val name: String = "value"
}

嗯,很好用!

对Kotlin或KMP感兴趣的同学可以进Q群 101786950

如果这篇文章对您有帮助的话

可以扫码请我喝瓶饮料或咖啡(如果对什么比较感兴趣可以在备注里写出来)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值