java.lang.NoSuchMethodError: No virtual method elapsedNow()D in class Lkotlin/time/TimeMark

java.lang.NoSuchMethodError: No virtual method elapsedNow()D in class Lkotlin/time/TimeMark

我最近将 Kotlin 的版本更新为 1.4.0-rc

从那以后 Koin 返回下面的 运行 时间错误:

java.lang.NoSuchMethodError: No virtual method elapsedNow()D in class Lkotlin/time/TimeMark

显然这个问题是由于 androidLogger() 与 Koin 一起使用造成的。 目前只有一种解决方法,即从 androidLogger() 迁移到 androidLogger(Level.ERROR)

已经为此创建了一个问题:

https://github.com/InsertKoinIO/koin/issues/847

最新的 alpha 版本 我的问题已经解决了。

// latest unstable
koin_version = '2.2.0-alpha-1'
implementation "org.koin:koin-androidx-scope:$koin_version"
implementation "org.koin:koin-androidx-viewmodel:$koin_version"
implementation "org.koin:koin-androidx-fragment:$koin_version"

前往主文档了解更多详情:Koin latest version

另一种避免问题的方法是@Aydinozkan 所说的通过将记录器级别设置为错误或 none。

startKoin {
        androidLogger(Level.NONE)          
    }