I have dagger setup and defined injectables correctly, but getting the following errpr:
I saw a couple of similar thread, but the answers didn't solve this
java.lang.IllegalArgumentException: No inject registered for members/com.aryaxt.app.Pages.LoginActivity. You must explicitly add it to the 'injects' option in one of your modules.
Module
@Module(library = true, injects = {
LoginActivity.class
})
class MyModule {
private final Context context;
public MyModule() {
}
@Provides @Singleton
IAuthService provideAuthService() {
return new AuthService();
}
}
Application
public class MyApplication extends Application {
private ObjectGraph objectGraph;
@Override
public void onCreate() {
super.onCreate();
objectGraph = ObjectGraph.create(new MyModule());
}
public ObjectGraph getObjectGraph() {
return objectGraph;
}
}
Activity
public class LoginActiity extends ActionBarActivity {
@Inject
IAuthService authService;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
((MyApplication) getApplication()).getObjectGraph().inject(this);
}
}
EDIT:
02-03 07:54:43.934 3305-3305/com.aryaxt.MyApp E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.aryaxt.MyApp, PID: 3305
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.aryaxt.MyApp/com.aryaxt.MyApp.Pages.LoginActivity}: java.lang.IllegalArgumentException: No inject registered for members/com.aryaxt.MyApp.Pages.LoginActivity. You must explicitly add it to the 'injects' option in one of your modules.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.IllegalArgumentException: No inject registered for members/com.aryaxt.MyApp.Pages.LoginActivity. You must explicitly add it to the 'injects' option in one of your modules.
at dagger.ObjectGraph$DaggerObjectGraph.getInjectableTypeBinding(ObjectGraph.java:302)
at dagger.ObjectGraph$DaggerObjectGraph.inject(ObjectGraph.java:279)
at com.aryaxt.bobber.Pages.BaseActivity.onCreate(BaseActivity.java:18)
at com.aryaxt.bobber.Pages.LoginActivity.onCreate(LoginActivity.java:29)
at android.app.Activity.performCreate(Activity.java:5933)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)