medium - dagger android processor
Dagger2 no genera archivos "Dagger_" (3)
Esta pregunta ya tiene una respuesta aquí:
Im usando dagger 2 desde hace un tiempo, pero hoy, al intentar compilar, obtuve este error:
Error: (13, 31) error: no se puede encontrar la clase de símbolo Dagger_GlobalComponent
Error: (38, 21) error: no se puede encontrar la variable de símbolo Dagger_GlobalComponent
Así que aquí está el código:
public class MyAppApplication extends Application {
private static GlobalComponent component;
@Override
public void onCreate() {
super.onCreate();
component = Dagger_GlobalComponent.builder()
.busModule(new BusModule())
.syncModule(new SyncModule())
.serviceModule(new ServiceModule())
.contextModule(new ContextModule(this))
.persistenceModule(new PersistenceModule(this))
.build();
}}
Y dependencias de Gradle:
...
compile ''com.google.dagger:dagger:2.0-SNAPSHOT''
apt ''com.google.dagger:dagger-compiler:2.0-SNAPSHOT''
provided ''org.glassfish:javax.annotation:10.0-b28''
...
¿Alguna solución? Ya intenté: Limpiar, Reconstruir, Cambiar versiones de dependencia, también eliminar el caché de Gradle y reinstalar Android Studio.
Si ayuda también tiene el mismo error con este proyecto de ejemplo:
Parece que eliminaron el guión bajo de las cosas generadas. Ver Dagger2 clase generada es de repente falta en Android Studio .
Traté de seguir el tutorial de Dagger2 en tutsplus here y tuve el mismo problema al intentar usar la sintaxis de guión bajo (Dagger_ClassnameComponent).
Como han dicho otros, las nuevas API de Dagger no usan esa sintaxis de subrayado, sino que simplemente usan la sintaxis DaggerClassnameComponent. Sin embargo, al intentar usar la nueva sintaxis en mi aplicación simple, no se encontró la clase DaggerClassnameComponent. Creo que debería estar ubicado en la carpeta de la aplicación / construir / generar / fuente / apt / debug / packagename / component.
Al principio, no tenía ningún archivo generado en la carpeta mencionada anteriormente. Sin embargo, mi solución fue limpiar y construir el proyecto, y luego pude usar la clase Component como se esperaba.
Dagger 2 ya se ha lanzado, por lo que tendrá que cambiar sus dependencias de Gradle:
compile ''com.google.dagger:dagger:2.0''
provided ''com.google.dagger:dagger-compiler:2.0''
provided ''org.glassfish:javax.annotation:10.0-b28''