1

アプリケーションでイベントバスを使用していますが、デバッグ モードでは問題なく動作していますが、リリース APK では動作しません。

ProGuard 構成に使用される次のコード:

  -keepattributes *Annotation*
  -keepclassmembers class ** {
    @org.greenrobot.eventbus.Subscribe <methods>;
   }
  -keep enum org.greenrobot.eventbus.ThreadMode { *; }

私の Subscribe アノテーション付きメソッドもすべて public です

Logcat 出力:

イベントをディスパッチできませんでした: クラス com.dhaval.example.model.entity.response.DashboardUnreadStoryResponse をサブスクライブするクラス クラス com.dhaval.example.view.activity.MainActivity java.lang.NullPointerException: 仮想メソッド 'java.lang. com.dhaval.example.view の com.dhaval.example.view.activity.MainActivity.b(SourceFile:150) の null オブジェクト参照に対する文字列 com.dhaval.example.model.entity.Dashboard.ba()'。 java.lang.reflect.Method の activity.MainActivity.onEventBusEvent(SourceFile:560)。org.greenrobot.eventbus.ca で (ソースファイル:485) org.greenrobot.eventbus.ca で (ソースファイル:420) org.greenrobot.eventbus.ca で (ソースファイル:397) org.greenrobot.eventbus で (ソースファイル:397) を呼び出す (ネイティブ メソッド) .ca(ソースファイル:370) org.greenrobot.eventbus.cd(ソースファイル:251) com.dhaval.example.view.ar$1.a(ソースファイル:140) com.dhaval.example.view.ar$1. a(ソースファイル:130) com.dhaval.example.f.ap$2.a(ソースファイル:90) com.dhaval.example.f.ap$2.a(ソースファイル:85) com.dhaval.example.network.a$1. a_(SourceFile:101) at rx.caa_(SourceFile:134) at rx.internal.operators.n$aa(SourceFile:224) at rx.abb$b.run(SourceFile:107) at android.os.Handler. handleCallback(Handler.java:751) android.os.Handler.dispatchMessage(Handler.java:95) で android.os.Looper.loop(Looper.java:154) で android.app.ActivityThread.main(ActivityThread.java:6290) で java. com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) の lang.reflect.Method.invoke(ネイティブ メソッド) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) の) 07-14 11:39:43.640 16402-16402/com.dhaval.example D/EventBus:イベント クラス org.greenrobot.eventbus.j 07-14 11:39:43.657 16402-16402/com.dhaval.example E/com.dhaval.example.view.ar$1 にサブスクライバーが登録されていません: getResponse でエラーが発生しました: 呼び出しを試みましたnull オブジェクト参照に対する仮想メソッド 'java.lang.String com.dhaval.example.model.entity.Dashboard.ba()'

4

1 に答える 1