Can not resolve symbol DaggerApplicationComponent
The proper setup of your Dagger solves this issue.
Update (March 29, 2020)
Inside your app-level build.gradle
inside dependencies
block, add these lines:
//dagger2
api 'com.google.dagger:dagger:2.24'
api 'com.google.dagger:dagger-android:2.24'
api 'com.google.dagger:dagger-android-support:2.24'
annotationProcessor 'com.google.dagger:dagger-compiler:2.24'
kapt 'com.google.dagger:dagger-compiler:2.24'
annotationProcessor 'com.google.dagger:dagger-android-processor:2.24'
kapt 'com.google.dagger:dagger-android-processor:2.24'
compileOnly 'javax.annotation:jsr250-api:1.0'
implementation 'javax.inject:javax.inject:1'
Inside android
block of app-level build.gradle
,
kapt {
generateStubs = true
}
At the top of the app-level build.gradle
, Do this in exactly below order.
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'
Finally, You need to configure Annotation Process as provided in the screenshot below. You can do this File>Other Settings>Settings for New Projects>
search"Annotation processor"
After this, do from Menu Build > Rebuild
. You are done!
Test:
@Component
public interface ApplicationComponent {
}
Now, you can use DaggerApplicationComponent
that was generated at compile-time for your Applicatio
nComponent interface.
public class MyApplication extends Application {
ApplicationComponent applicationComponent = DaggerApplicationComponent.create();
}
There is a simple solution for this, just rebuild the project and it might work
This error is not related to your Gradle configuration.
DaggerApplicationComponent
is a class that Dagger generates for ApplicationComponent
interface that you defined. If there is any error during code generation (e.g. missing @Provides
method), Dagger will not generate DaggerApplicationComponent
and you'll get this error.
What you need to do is to read the entire error output in AndroidStudio and try to understand why Dagger failed.
I also encountered a very nasty behavior when some import statements were missing in project files. In these cases Dagger will fail, but will not tell you exactly what the problem is and you'll need to look for it by yourself.
If you need further help - attach the build error output to the question.