moxy-community / Moxy

Moxy is MVP library for Android with incremental annotation processor and ktx features
MIT License
324 stars 33 forks source link

java.lang.ClassNotFoundException when injecting Presenter into Activity #140

Open deprecated-fun opened 2 years ago

deprecated-fun commented 2 years ago

I'm getting this error when launching app: 2022-09-05 12:09:02.806 31302-31302/app E/AndroidRuntime: FATAL EXCEPTION: main Process: app, PID: 31302 java.lang.RuntimeException: Unable to start activity ComponentInfo{app/app.ui.main.MainActivity}: kotlin.UninitializedPropertyAccessException: lateinit property presenter has not been initialized at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3555) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3707) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2220) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:237) at android.app.ActivityThread.main(ActivityThread.java:8019) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100) Caused by: kotlin.UninitializedPropertyAccessException: lateinit property presenter has not been initialized at app.ui.main.MainActivity.h0(SourceFile:70) at app.ui.main.MainActivity.onCreate(SourceFile:100) at android.app.Activity.performCreate(Activity.java:7957) at android.app.Activity.performCreate(Activity.java:7946) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3530) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3707)  at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)  at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2220)  at android.os.Handler.dispatchMessage(Handler.java:107)  at android.os.Looper.loop(Looper.java:237)  at android.app.ActivityThread.main(ActivityThread.java:8019)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)

moxyVersion = "2.2.2"

MainActivity: class MainActivity : BaseActivity(), MainView {

@Inject
@InjectPresenter
lateinit var presenter: MainPresenter

@ProvidePresenter
fun providePresenter() = presenter

override fun onCreate(savedInstanceState: Bundle?) { App.DAGGER.categoryComponent?.inject(this) super.onCreate(savedInstanceState) <...> } <...> }

Has anyone experienced this kind of behavior?