Dagger2 clase generada es de repente una falta de Android Studio

He estado usando Dagger2 en Android Studio desde hace meses, pero hoy de repente dejó de funcionar y me está dando el siguiente error

error: cannot find symbol return Dagger_Injector.builder() ^ symbol: variable Dagger_Injector location: class Initializer Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 1 error 

Aquí está el código donde está fallando

 @Singleton @Component(modules = {TestService.class, ServiceFactory.class}) public interface Injector { public final static class Initializer { public static Injector init(ApplicationLoader app, boolean bypassVerification) { return Dagger_Injector.builder() .testService(new TestService()) .serviceFactory(new ServiceFactory(app)) .build(); } } void inject(ApplicationLoader obj); } 

Aquí está mi información de gradé

 ------------------------------------------------------------ Gradle 2.2.1 ------------------------------------------------------------ Build time: 2014-11-24 09:45:35 UTC Build number: none Revision: 6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a Groovy: 2.3.6 Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013 JVM: 1.8.0_05 (Oracle Corporation 25.5-b02) OS: Mac OS X 10.10.2 x86_64 

Y aquí está el contenido de mi build.gradle

 apply plugin: 'com.android.application' apply plugin: 'robolectric' apply plugin: 'com.neenbedankt.android-apt' android { compileSdkVersion 21 buildToolsVersion '21.1.0' defaultConfig { applicationId "com.test" minSdkVersion 11 targetSdkVersion 21 versionCode 1 versionName "1.0" testInstrumentationRunner "com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } productFlavors { } lintOptions { abortOnError false } sourceSets { androidTest { setRoot('src/androidTest') } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } dexOptions { preDexLibraries = false } packagingOptions { exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' } } tasks.withType(Test) { include '**/*Test.class' exclude '**/espresso/**/*.class' // configure max heap size of the test JVM maxHeapSize = "2048m" } dependencies { androidTestCompile 'junit:junit:4.12' androidTestCompile('org.robolectric:robolectric:2.4') { exclude group: 'commons-logging', module: 'commons-logging' exclude group: 'org.apache.httpcomponents', module: 'httpclient' } compile 'javax.servlet:javax.servlet-api:3.0.1' compile fileTree(dir: 'libs', include: ['*.jar']) compile files('libs/renderscript-v8.jar') compile files('libs/jsonic-1.2.0.jar') compile 'com.android.support:appcompat-v7:20.+' compile 'com.google.android.gms:play-services:3.2' compile 'com.squareup.retrofit:retrofit:1.6.1' compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0' compile 'com.squareup.okhttp:okhttp:2.0.0' compile 'com.squareup:otto:1.3.5' compile 'com.commonsware.cwac:merge:1.0.2' compile 'com.j256.ormlite:ormlite-android:4.48' compile 'com.android.support:support-v4:20.0.0' compile 'io.nlopez.smartlocation:library:2.0.8' compile 'com.google.dagger:dagger:2.0-SNAPSHOT' apt 'com.google.dagger:dagger-compiler:2.0-SNAPSHOT' compile 'org.glassfish:javax.annotation:10.0-b28' compile 'com.github.amlcurran.showcaseview:library:5.0.0' compile 'com.edmodo:cropper:1.0.1' } 

Cualquier ayuda es apreciada.

2 Solutions collect form web for “Dagger2 clase generada es de repente una falta de Android Studio”

Por lo tanto, parece que por alguna razón no hay más subrayados en los nombres de las clases de componentes generados. Basta con mirar a su build/generated/source/apt carpeta para verlo realmente cambiado de esta manera.

Solucionarlo reemplazando Dagger_Injector con DaggerInjector etc.

En mi caso estaba utilizando el reino y debido a la incompatibilidad apt no estaba siendo capaz de obtener el autogenerado DaggerComponent.

He reemplazado

 classpath "io.realm:realm-gradle-plugin:1.2.0" 

con

 classpath "io.realm:realm-gradle-plugin:3.1.2" 

Y aplicado el complemento

 apply plugin: 'realm-android' 

En el archivo gradle de nivel de aplicación

  • AndroidManifest.xml - especificado para la propiedad 'manifiesto' no existe
  • Java.lang.NullPointerException (sin mensaje de error)
  • Error de gradle de estudio de Android con excepción de nivel superior
  • Cómo utilizar Robolectric 2.4 en Android Studio 1.1.0 y gradle 2.2.1
  • Cómo establecer el nombre de la salida AAR de Gradle
  • Android Studio: Failure
  • Gradle obtener tipo de construcción actual
  • Gradle Android Plugin - agregar atributo de sabor personalizado?
  • Construir con Gradle lanza MalformedJsonException
  • ¿Puedo construir todos mis sabores de generación de gradle a la vez?
  • ¿Cómo depurar un complemento de Gradle?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.