Android studio 2.2 cómo aplicar dagger2 sin el complemento de android-apt

Mi proyecto build.gradle

buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.0-alpha3' classpath 'com.google.dagger:dagger-compiler:2.2' classpath 'com.google.guava:guava:19.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } 

Mi módulo build.gradle

 android { compileSdkVersion 24 buildToolsVersion '24.0.0' defaultConfig { applicationId "com.aber.app.acgtalk" minSdkVersion 19 targetSdkVersion 24 versionCode 1 versionName "1.0" jackOptions { enabled true } } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } ext { supportLibVersion = '24.0.0' } dependencies { compile 'com.google.dagger:dagger:2.2' annotationProcessor 'com.google.dagger:dagger-compiler:2.2' debugAnnotationProcessor 'com.google.dagger:dagger-compiler:2.2' provided 'javax.annotation:jsr250-api:1.0' compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile "com.android.support:appcompat-v7:${supportLibVersion}"; compile "com.android.support:recyclerview-v7:${supportLibVersion}"; compile "com.android.support:design:${supportLibVersion}"; compile "com.android.support:support-v13:${supportLibVersion}"; compile "com.android.support:support-annotations:${supportLibVersion}"; compile "com.android.support:gridlayout-v7:${supportLibVersion}"; compile "com.android.support:cardview-v7:${supportLibVersion}"; compile "com.android.support:preference-v14:${supportLibVersion}"; compile 'com.squareup.okhttp3:okhttp:3.2.0'; compile 'com.google.code.gson:gson:2.6.2' compile 'com.squareup.retrofit2:retrofit:2.0.2' compile 'com.squareup.retrofit2:converter-gson:2.0.2' } 

¿Qué hay de malo en esto, cómo utilizar la función annotationProcessor dentro del estudio de Android 2.2, cómo conifg el procesador de anotación dagger2 correctamente?

Nuevos procesadores de anotaciones Jack

Sí, con android gradle plugin 2.2.0 liberación, el complemento android-apt ya no es necesario para el procesamiento de anotación. La función apt se incluyó en el plugin androide gradle más reciente. Ahora se llama annotationProcessor que era lo que tenías en tu script de compilación. Sin embargo, había algunas cosas mal configuradas en el guión.

En primer lugar, el compilador dagger no se debe agregar a classpath. Así que elimine esta línea: classpath 'com.google.dagger:dagger-compiler:2.2' .

Y usted está usando la versión alpha3 del plugin del gradle del androide. Intente usar la última versión, así que cambie a classpath 'com.android.tools.build:gradle:2.2.2' .

El bloque de declaración de dependencia parece legítimo. Así que trate de hacer los cambios anteriores para ver si funcionaría.

Usted está incorretly insert plugin classpath. Quite la línea siguiente en su generación de proyecto:

 classpath 'com.google.dagger:dagger-compiler:2.2' 

E inserte:

 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 

A continuación, en su módulo build.gradle, agregue el siguiente código después de aplicar la aplicación plugin android:

 // add after applying plugin: 'com.android.application' apply plugin: 'com.neenbedankt.android-apt' 

Agregue la siguiente línea a sus dependencias:

 // apt command comes from the android-apt plugin apt 'com.google.dagger:dagger-compiler:2.2' compile 'com.google.dagger:dagger:2.2' provided 'javax.annotation:jsr250-api:1.0' 

Para más información lea aquí:
https://github.com/codepath/android_guides/wiki/Dependency-Injection-with-Dagger-2

Y para el proyecto de muestra, visite aquí:
https://github.com/spirosoik/AndroidArchitecturePadawans

  • Android Studio - Cómo cambiar la ruta del SDK de Android
  • Cómo habilitar la pestaña Cambios Android Studio
  • El estudio de Android de repente no puede resolver el símbolo R
  • Adb y Android Studio no detectan YUPHORIA
  • ¿Cómo cambiar o agregar un tema a Android Studio?
  • Error en la actualización de Android Studio
  • Error: no se pudo inicializar la clase com.android.ide.common.util.ReadWriteProcessLock después de actualizar a AS 2.4
  • Android Studio - No se pudo descargar el artefacto
  • Android Studio no implementa cambios en la aplicación
  • La mejor manera de eliminar la actividad y sus referencias en Android Studio
  • La etiqueta de registro puede tener como máximo 23 caracteres
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.