52 votes

java.lang.NoSuchMethodError : aucune méthode virtuelle n'est écouléeNow()D dans la classe Lkotlin/time/TimeMark

J'ai récemment mis à jour la version de Kotlin vers 1.4.0-rc .

Depuis lors, Koin renvoie l'erreur d'exécution ci-dessous :

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

48voto

Aydinozkan Points 232

Apparemment, ce problème est dû à l'utilisation de androidLogger() avec Koin. Il n'y a qu'une solution de contournement pour le moment, qui migre de androidLogger() à androidLogger(Level.ERROR)

Il y a déjà un problème créé à cet effet :

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

45voto

Martin Bove Points 513

Avec la dernière version alpha, le problème est résolu dans mon cas.

 // 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"

Accédez à la documentation principale pour plus de détails : https://github.com/InsertKoinIO/koin#current-version

Une autre façon d'éviter le problème est de savoir comment @Aydinozkan dit en définissant le niveau d'enregistrement sur erreur ou sur aucun.

 startKoin {
        androidLogger(Level.NONE)          
    }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X