After updating to kotlin `1.2.40` building a proje...
# kapt
o
After updating to kotlin
1.2.40
building a project fails with this error:
Copy code
> Task :shared:kaptGenerateStubsDebugKotlin
e: [kapt] An exception occurred: java.lang.NoClassDefFoundError: org/jetbrains/kotlin/serialization/jvm/JvmProtoBufUtil
	at me.eugeniomarletti.kotlin.metadata.KotlinClassMetadata$data$2.invoke(KotlinMetadata.kt:51)
	at me.eugeniomarletti.kotlin.metadata.KotlinClassMetadata$data$2.invoke(KotlinMetadata.kt:50)
	at kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:131)
	at me.eugeniomarletti.kotlin.metadata.KotlinClassMetadata.getData(KotlinMetadata.kt)
	at android.arch.persistence.room.ext.KotlinMetadataProcessor$DefaultImpls.getParameterNames(KotlinMetadataProcessor.kt:33)
	at android.arch.persistence.room.processor.PojoProcessor.getParameterNames(PojoProcessor.kt:73)
	at android.arch.persistence.room.processor.PojoProcessor.getParamNames(PojoProcessor.kt:245)
	...
        Caused by: java.lang.ClassNotFoundException: org.jetbrains.kotlin.serialization.jvm.JvmProtoBufUtil
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 77 more

> Task :shared:kaptDebugKotlin FAILED
When I go back to
1.2.31
, it builds without errors. Do I need to add an extra dependency for
1.2.40
?
y
JvmProtoBufUtil class in kotlinc was moved, and
me.eugeniomarletti.kotlin.metadata
library is not aware of this yet.
The problems is that, as I see, it’s used by Android architecture components library, so it needs to be updated to be compatible with Kotlin 1.2.40.
o
Thx @jw Can confirm it works now after applying the workaround.
This issue is fixed with Room 1.1.0 RC1 and no workaround needed anymore. https://developer.android.com/topic/libraries/architecture/release-notes#may_2_2018_room_110_release_candidate