Dagger2 dependencia – Gradle
Estoy tratando de añadir Dagger2 a mi proyecto en Android Studio, pero no puedo encontrar la dependencia adecuada para pegar en build.gradle. ¿Podrías ayudarme y enviarme la línea correcta?
- Inyección de dependencia en servicio
- Uso de Dagger 2 para inyectar en servicio
- Dagger 2.10 / 2.11 inyección Actividad fallida
- Dagger 2, Gradle Plugins y Jack - Se requiere orientación
- Dagger 2 en Android: inyectar la misma dependencia en Activity y retener Fragment
- Es @Singleton en la daga 2 hilo seguro?
- Dagger 2 Alcance personalizado para cada fragmento (o actividad, etc ...)
- Utiliza código de prueba generado por Dagger en Android
- Alcance y subcomponentes de Dagger 2
- Inyección de dependencia de CustomView con la daga 2 (dentro del alcance de la actividad)
- Lazy Injection con Dagger 2 en Android
- Dagger 2 inyecta Android Context
- Dagger 2 Inyecciones estáticas
Instalación de Dagger 2 en Android Studio 2
// Application build.gradle dependencies { compile 'com.google.dagger:dagger:2.4' annotationProcessor "com.google.dagger:dagger-compiler:2.4" }
Maven Repositorios:
Encuentre las últimas versiones de las dependencias anteriores en el Maven Repository:
- daga
- Dagger-compilador
Notas: Android Studio <2.2
Las versiones anteriores de Android Studio necesitan android-apt
para el procesamiento de anotaciones.
// Project build.gradle buildscript { dependencies { // Assists in working with annotation processors for Android Studio. // No longer needed with Android Studio 2.2+ classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' } } apply plugin: 'com.neenbedankt.android-apt'
Y
// Application build.gradle dependencies { compile 'com.google.dagger:dagger:2.4' apt "com.google.dagger:dagger-compiler:2.4" }
Notas: Dagger <2.1
Para Dagger <2.1-SNAPSHOT se necesita javax.annotation
para la anotación @Generated
usada en el código generado por Dagger (vea github.com/google/dagger/issues/95 ). La anotación no está incluida en el jar API de Android, por lo que necesitará utilizar una de estas bibliotecas ( ver diferencias ):
// Application build.gradle dependencies { compile 'javax.annotation:jsr250-api:1.0' }
- Javax.annotation: jsr250-api: 1.0
- Javax.annotation: javax.annotation-api: 1.2
- Org.glassfish: javax.annotation: 10.0-b28
Ya no necesitas el complemento de android-apt , toda la funcionalidad que previamente fue proporcionada por android-apt ya está disponible en la versión de Android Gradle versión 2.2
https://bitbucket.org/hvisser/android-apt/wiki/Migration
Actualizar el complemento Gradle a
classpath 'com.android.tools.build:gradle:2.2.0'
Y las dependencias de Dagger para
compile 'com.google.dagger:dagger:2.4' annotationProcessor 'com.google.dagger:dagger-compiler:2.4'
¡Aclamaciones!
dependencies { compile 'com.google.dagger:dagger:2.0-SNAPSHOT' }
En tu aplicación / build.gradle
y
allprojects { repositories { ... maven { url "https://oss.sonatype.org/content/repositories/snapshots" } } }
En build.gradle de su proyecto.
Hoy tuve problemas con esto. Esto es lo que funcionó para mí con las últimas versiones a partir de esta fecha con Android Studio 2.0 Vista previa 8:
Buid.gradle (Módulo: app)
apply plugin: 'com.android.application' apply plugin: 'com.neenbedankt.android-apt' android { compileSdkVersion 23 buildToolsVersion '23.0.2' defaultConfig { applicationId 'com.example.android.redacted.app' minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } repositories { mavenCentral() } productFlavors { } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.google.dagger:dagger:2.0.2' apt 'com.google.dagger:dagger-compiler:2.0.2' provided 'org.glassfish:javax.annotation:10.0-b28' }
Build.gradle (Proyecto: proj):
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.0.0-alpha8' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' } } allprojects { repositories { jcenter() mavenCentral() maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } } }