AndroidAnnotations y Dagger

Estoy tratando de usar Dagger para inyectar en una actividad anotada de Android.

java.lang.IllegalArgumentException: No inject registered for members/com.app.server.AddServerActivity_. You must explicitly add it to the 'injects' option in one of your modules.

Si intento y com.app.server.AddServerActivity_ el com.app.server.AddServerActivity_ al módulo consigo un diverso error

 Error: java.lang.ClassCastException: com.sun.tools.javac.code.Attribute$Error cannot be cast to com.sun.tools.javac.code.Attribute$Class java.lang.RuntimeException: java.lang.ClassCastException: com.sun.tools.javac.code.Attribute$Error cannot be cast to com.sun.tools.javac.code.Attribute$Class at com.sun.tools.javac.main.Main.compile(Main.java:469) at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:132) at org.jetbrains.jps.javac.JavacMain.compile(JavacMain.java:167) at org.jetbrains.jps.incremental.java.JavaBuilder.compileJava(JavaBuilder.java:364) at org.jetbrains.jps.incremental.java.JavaBuilder.compile(JavaBuilder.java:276) at org.jetbrains.jps.incremental.java.JavaBuilder.doBuild(JavaBuilder.java:190) at org.jetbrains.jps.incremental.java.JavaBuilder.build(JavaBuilder.java:162) at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1018) at org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:742) at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:790) at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:705) at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:526) at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:314) at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:179) at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:129) at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:220) at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:112) at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler$1.run(BuildMain.java:132) at org.jetbrains.jps.service.impl.SharedThreadPoolImpl$1.run(SharedThreadPoolImpl.java:41) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.ClassCastException: com.sun.tools.javac.code.Attribute$Error cannot be cast to com.sun.tools.javac.code.Attribute$Class at com.sun.tools.javac.model.AnnotationProxyMaker$ValueVisitor.visitArray(AnnotationProxyMaker.java:190) at com.sun.tools.javac.code.Attribute$Array.accept(Attribute.java:215) at com.sun.tools.javac.model.AnnotationProxyMaker$ValueVisitor.getValue(AnnotationProxyMaker.java:165) at com.sun.tools.javac.model.AnnotationProxyMaker.generateValue(AnnotationProxyMaker.java:143) at com.sun.tools.javac.model.AnnotationProxyMaker.getAllReflectedValues(AnnotationProxyMaker.java:101) at com.sun.tools.javac.model.AnnotationProxyMaker.generateAnnotation(AnnotationProxyMaker.java:86) at com.sun.tools.javac.model.AnnotationProxyMaker.generateAnnotation(AnnotationProxyMaker.java:78) at com.sun.tools.javac.model.JavacElements.getAnnotation(JavacElements.java:108) at com.sun.tools.javac.model.JavacElements.getAnnotation(JavacElements.java:121) at com.sun.tools.javac.code.Symbol$ClassSymbol.getAnnotation(Symbol.java:888) at dagger.internal.codegen.ValidationProcessor.validateProvides(ValidationProcessor.java:75) at dagger.internal.codegen.ValidationProcessor.process(ValidationProcessor.java:67) at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:793) at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:722) at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1700(JavacProcessingEnvironment.java:97) at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1029) at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1163) at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1108) at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:824) at com.sun.tools.javac.main.Main.compile(Main.java:439) ... 24 more 

Edit: ok, parece ser un problema conocido con cómo daga trata de las clases generadas por otros procesadores.

Https://github.com/square/dagger/issues/322

Le sugiero que use Dagger2 , cuyo uso parece más "natural".

Este problema fue fijado como de 709a48b de compromiso de Dagger.

Colaborador cgruber comentada 13-nov-2013

Esto ha sido validado en dos lugares, por lo que estoy cerrando este problema.

Sin embargo, con Dagger2, que es un esfuerzo conjunto de google y cuadrado, parece una buena idea.

  • Http get exception El host de destino no debe ser null en ICS
  • Recuperar un número de teléfono con ContactsContract en Android: la función no funciona
  • Excepción lanzada durante TypedArray # getTextArray ()
  • Cómo mantener las cookies de sesión HTTP en HttpContext entre las actividades en Android?
  • Eclipse 3.6 frecuentemente se bloquea durante Content Assist
  • ¿Hay alguna manera de liberar una cámara de diferentes actividades después de adquirirlo de una actividad diferente.?
  • Butterknife 8.4.0 no encuentra vistas después de volver a ejecutar la aplicación. Obtiene una excepción NullPointerException
  • Eliminar duplicado en ArrayList de objetos personalizados
  • Java.lang.OutOfMemoryError en almacenar imágenes en sqlite db
  • Cómo convertir un archivo a base 64 (como .pdf, .txt) en Android?
  • Los objetos Json de Android / Java cuentan
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.