Era completamente nuevo en el reino en Android, y comencé con un proyecto kotlin simple con una sola entidad que tenía un solo campo.
open class Something : RealmObject() { @PrimaryKey var id: Long = 0 }Inicialicé Realm en mi clase de aplicación:
class RealmApp : Application() { override fun onCreate() { super.onCreate() Realm.init(this) val config = RealmConfiguration.Builder().build() Realm.setDefaultConfiguration(config) } }Y, por supuesto, agregué el complemento de reino:
//Project level dependencies { ... classpath "io.realm:realm-gradle-plugin:5.9.0" } //Module level apply plugin: 'realm-android'Proyecto simple, pero cada vez que intentaba compilarlo, aparecía una excepción:
Caused by: javassist.NotFoundException: io.realm.com_example_realmtest_data_SomethingRealmProxyInterface at javassist.ClassPool.get(ClassPool.java:452) at io.realm.transformer.BytecodeModifier$Companion.addRealmProxyInterface(ByteCodeModifier.kt:96) at io.realm.transformer.build.BuildTemplate.transformModelClasses(BuildTemplate.kt:109) at io.realm.transformer.RealmTransformer.transform(RealmTransformer.kt:107) at com.android.build.api.transform.Transform.transform(Transform.java:288) at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:239) at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:235) at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)Busqué durante todo el día para resolver este problema, pero no encontré nada.
Entonces resultó que simplemente necesitaba apply plugin: 'kotlin-kapt' en mi nivel de módulo build.gradle . Parece que Kotlin necesita eso para generar estas clases. Perdí mucho tiempo debido a ese error tonto, así que espero que esta respuesta ayude a las personas que tienen un error similar.
EDITAR
Y como musoof mencionó en los comentarios, el orden de apply plugin: 'kotlin-kapt' importante. Debe incluirlo antes de apply plugin: 'realm-android' . De lo contrario, seguirá recibiendo el mismo error.