找不到类“kotlin.jvm.internal.DefaultConstructorMarker”

我目前正在使用Kotlin编码的Android应用程序。 一切都很好,直到昨天,在某些时候我开始在logcat中有这个错误,当这种情况发生时,应用程序的内容不显示。 以下是详细的描述:

11-23 17:08:40.819 10472-10472/ch.XXX.XXX W/dalvikvm: DexOpt: resolve class illegal access: Lch/XXX/XXX/commons/features/CouponsManager; -> Lkotlin/jvm/internal/DefaultConstructorMarker; 11-23 17:08:40.819 10472-10472/ch.XXX.XXX E/dalvikvm: Could not find class 'kotlin.jvm.internal.DefaultConstructorMarker', referenced from method ch.XXX.XXX.commons.features.CouponsManager. 11-23 17:08:40.819 10472-10472/ch.XXX.XXX W/dalvikvm: VFY: unable to resolve check-cast 3145 (Lkotlin/jvm/internal/DefaultConstructorMarker;) in Lch/XXX/XXX/commons/features/CouponsManager; 11-23 17:08:40.819 10472-10472/ch.XXX.XXX W/dalvikvm: DexOpt: resolve class illegal access: Lch/XXX/XXX/commons/features/CouponsManager; -> Lkotlin/jvm/internal/DefaultConstructorMarker; 

被引用的类是在Kotlin中编写的,在错误开始出现之前未被修改。

编辑

这是导致问题的类:

 class CouponsManager(private val api: RestApi = RestApi()) { fun getAllCoupons(): Observable { return Observable.create { subscriber -> val callResponse = api.getCoupons() val response = callResponse.execute() if (response.isSuccessful) { val coupons = response.body() subscriber.onNext(coupons) subscriber.onCompleted() } else { subscriber.onError(Throwable(response.message())) } } } fun getCoupons(): Observable<List> { return getAllCoupons().map { it.Coupons.map { Coupon(it.TopCouponImageUrl, it.BarcodeUrl, it.TopCouponText, it.BottomCouponText, it.BottomCouponImageUrl) } } } fun getLoyaltyCards(): Observable<List> { return getAllCoupons().map { it.Loyalty.map { Coupon(it.TopCouponImageUrl, it.BarcodeUrl, it.TopCouponText, it.BottomCouponText, it.BottomCouponImageUrl) } } } } 

所以,正如@DimaRostopira所说,Kotlin不能在Instant Run中工作,所以已经关闭了,但显然在更新到Android Studio的新版本之后,似乎已经完成了一个支持Instant Run的构建,所以一些已经存在的构建类只有部分编译和缓存。

我试图清理项目,但我不得不手动擦拭整个生成文件夹,使项目再次正确运行。

所以解决方案是rm -Rf build/在项目文件夹中,打开Android Studio并重新构建所有的东西。