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
- Cómo aumentar la memoria que está disponible para gradle
- Android Studio: xmlns: el mapa no funciona
- El inicio de Android Studio falla en Windows 8 64bit
- AndroidStudio gradle proxy
- ¿Cómo descargo el SDK de Android sin descargar Android Studio?
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
- Android Studio 0.8.6 cambiar la variante de construcción predeterminada
- Error: no pudo encontrar herramientas de compilación revisión 23.0.0 rc2 - Android Studio
- Android Studio Rendering Problemas, las clases no se pueden encontrar
- ¡Stub de la mensajería del dispositivo de Amazon! Android Studio
- Cómo agregar cualquier archivo jar en el estudio de Android?
- Android Studio accidente (aapt.exe devuelve 42) cuando puse el archivo PNG en la carpeta dibujable
- Error: El método no estático 'findViewById (int)' no se puede referenciar desde un contexto estático
- Android Studio no está iniciando: Error fatal al inicializar 'com.intellij.util.indexing.FileBasedIndex
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
- Gradle. Cómo generar código fuente antes de la compilación en la aplicación android
- Android: BroadcastReceiver intención de detectar la foto de la cámara tomada?