Android 类找不到异常,但存在某些生成

Android 类找不到异常,但存在某些生成,android,kotlin,otto,Android,Kotlin,Otto,我把这个片段翻译成了科特林。 在它里面,我用Otto的@subscribebe标记方法来监听网络通信。 当我运行一些构建时,这个片段被创建并可见,但是当数据被下载并且Otto试图调用这个标记的方法时,我得到了ClassNotFoundException: Fatal Exception: java.lang.NoClassDefFoundError: Failed resolution of: (...)/app/ui/fragments/ProfileCoverFragment$fillFro

我把这个片段翻译成了科特林。 在它里面,我用Otto的
@subscribebe
标记方法来监听网络通信。 当我运行一些构建时,这个片段被创建并可见,但是当数据被下载并且Otto试图调用这个标记的方法时,我得到了
ClassNotFoundException

Fatal Exception: java.lang.NoClassDefFoundError: Failed resolution of: (...)/app/ui/fragments/ProfileCoverFragment$fillFromUserProfile$1;
       at (...).ui.fragments.ProfileCoverFragment.fillFromUserProfile(ProfileCoverFragment.kt:136)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.squareup.otto.EventHandler.handleEvent(EventHandler.java:89)
       at com.squareup.otto.Bus.dispatch(Bus.java:386)
       at com.squareup.otto.Bus.dispatchQueuedEvents(Bus.java:369)
       at com.squareup.otto.Bus.post(Bus.java:338)
       at (...).communication.DefaultCallback.success(DefaultCallback.java:32)
       at (...).app.communication.CommunicationManager$7.success(CommunicationManager.java:463)
       at (...).app.communication.CommunicationManager$7.success(CommunicationManager.java:459)
       at retrofit.CallbackRunnable$1.run(CallbackRunnable.java:45)
       at android.os.Handler.handleCallback(Handler.java:739)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:135)
       at android.app.ActivityThread.main(ActivityThread.java:5257)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
重建后问题暂时修复。但它仍然可以在一些构建中找到。
我正在寻找一种通过gradle获得稳定构建过程的方法。

你的问题是什么?@nhaarman我正在寻找一种获得稳定构建过程的方法。根据我的经验,这种情况只有在将java文件转换为kotlin时才会发生。因为这是一次转换,所以在编写kotlin时,这不应该是一个问题。假设这只发生在将java转换为kotlin时,也就是说,可能的话-但是我仍然受到这个bug的困扰,一些构建仍然受到这个问题的影响。您是否建议从头开始“手动”重写这个类,而不是使用已翻译的类?是否
/gradlew clean build
有帮助?我的猜测是,由于转换,某些编译步骤失败了——它编译了java版本,但现在有了kt版本。