Плагин «kotlin-noarg» не работает в Realm

Плагин «kotlin-allopen» работает, но плагин «kotlin-noarg» не работает. Как я могу сделать?

Ниже приведен код.

build.gradle

buildscript { ext.kotlin_version = '1.1.3-2' repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.0.0-beta2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version" classpath "io.realm:realm-gradle-plugin:3.5.0" } } apply plugin: "kotlin-allopen" apply plugin: "kotlin-noarg" allOpen { annotation("sample.AllOpen") } noArg { annotation("sample.NoArg") invokeInitializers = true } 

Приложение / build.gradle

 apply plugin: 'realm-android' 

NoArg.kt

 @Target(AnnotationTarget.CLASS) @Retention(AnnotationRetention.SOURCE) annotation class NoArg 

MyApplication.kt

 class MyApplication : Application() { override fun onCreate() { super.onCreate() Realm.init(this) } } 

AndroidManifest.xml

 <application android:name=".MyApplication" 

SampleEntity.kt

 @NoArg @AllOpen @RealmClass data class SampleEntity(var sample: String?) : RealmModel 

при сборке была отображена следующая ошибка. Class "SampleEntity" must declare a public constructor with no arguments if it contains custom constructors.

Работает ли он с царством?

Это предполагаемое поведение. Из документации: https://kotlinlang.org/docs/reference/compiler-plugins.html#no-arg-compiler-plugin

Сгенерированный конструктор является синтетическим, поэтому его нельзя напрямую вызывать из Java или Kotlin, но его можно вызвать с помощью отражения