Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Dagger2 no genera archivos "Dagger_"

Im usando daga 2 desde hace un tiempo, pero hoy en día tratando de compilar consiguió 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 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 hemos intentado: Limpiar, Reconstruir, Cambiar las versiones dependecy, también eliminar el caché Gradle y volver a instalar Android Studio.

Si ayuda también obtuvo el mismo error con este ejemplo de proyectos:

Https://github.com/gk5885/dagger-android-sample

Https://github.com/mgrzechocinski/dagger2-example

3 Solutions collect form web for “Dagger2 no genera archivos "Dagger_"”

Estaba tratando de seguir el tutorial Dagger2 en tutsplus aquí y corría con el mismo problema al intentar usar la sintaxis de subrayado (Dagger_ClassnameComponent).

Como otros han dicho, las nuevas API de Dagger no utilizan esa sintaxis de subrayado, sino que simplemente utilizan la sintaxis DaggerClassnameComponent. Sin embargo, al intentar utilizar la nueva sintaxis en mi aplicación simple, no se encontró la clase DaggerClassnameComponent. Creo que debería estar ubicado en la carpeta app / build / generated / source / 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 podría utilizar la clase Component como se esperaba.

Dagger 2 ya ha sido lanzado, por lo que tendrá que cambiar sus dependencias gradle:

 compile 'com.google.dagger:dagger:2.0' provided 'com.google.dagger:dagger-compiler:2.0' provided 'org.glassfish:javax.annotation:10.0-b28' 

Parece que han eliminado el guión bajo de las cosas generadas. Ver Dagger2 clase generada es de repente una falta de Android Studio .

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.