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?

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/' } } } 
  • ¿Cómo usar Dagger 2 con Buck que contiene un montón de módulos de dólar?
  • Mock Android Application class para pruebas con Robolectric en App con Dagger 2
  • ¿Cómo podemos crear un gráfico de las dependencias de Dagger 2?
  • Dagger 2 y android Studio: funcionan pero no pueden ver las clases generadas
  • Ver la inyección de dependencia con la daga 2
  • Pruebas con Dagger 2 usando configuraciones de componentes independientes en Android
  • Do Dagger 2 y Android Annotations trabajan juntos?
  • Dagger2 Custom Scopes: ¿Cómo funcionan los escopos personalizados (@ActivityScope)?
  • Dagger 2 componentes no generados al usar Jack
  • Cómo excluir las clases Dagger2 de la cobertura de la prueba
  • No se puede crear una instancia de ViewModel personalizado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.