Не удалось найти класс 'kotlin.jvm.internal.DefaultConstructorMarker'

В настоящее время я работаю над 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.<init> 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<CouponDataResponse> { 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<Coupon>> { return getAllCoupons().map { it.Coupons.map { Coupon(it.TopCouponImageUrl, it.BarcodeUrl, it.TopCouponText, it.BottomCouponText, it.BottomCouponImageUrl) } } } fun getLoyaltyCards(): Observable<List<Coupon>> { 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, поэтому некоторые из уже существующих построенных классов, где только частично скомпилированы и кэшированы.

Я попытался очистить проект, но мне пришлось вручную стереть всю папку build чтобы проект снова работал снова.

Таким образом, решения – это rm -Rf build/ в папке проекта, откройте Android Studio и перестройте все с нуля.

Intereting Posts