2016-11-24 17 views
3

現在、私はKotlinでコードされているAndroidアプリを開発中です。 昨日まではすべてうまくいきましたが、ある時点で私はlogcatでこのエラーが発生し始めました。この場合、アプリのコンテンツは表示されません。クラス 'kotlin.jvm.internal.DefaultConstructorMarker'を見つけることができません

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で書かれており、エラーが発生する前に変更されていません。

EDIT

は、ここで問題が発生したクラスです。

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) 
      } 
     } 
    } 

} 
+0

プロガードを使用していますか? –

+0

@DimaRostopiraいいえ、無効になっています。 – bontoJR

+0

このクラスを表示して –

答えて

4

ので、@DimaRostopiraは、それがすでにオフになったので、Kotlinは、インスタントの実行では動作しません、と述べたが、通り明らかに、Android Studioの新しいバージョンをアップデートした後、インスタント・ランをサポートするためのビルドが完了したように見えるので、既にビルドされているクラスの一部は部分的にコンパイルされてキャッシュされています。

私はプロジェクトをクリーンアップしようとしましたが、プロジェクトを正しく再実行するために、buildフォルダ全体を手動でワイプする必要がありました。

したがって、解決策はプロジェクトフォルダのrm -Rf build/になります.Android Studioを開き、最初からすべてを再構築します。

関連する問題