web-dev-qa-db-fra.com

Dépendance Dagger2 - Gradle

J'essaie d'ajouter Dagger2 à mon projet dans Android Studio mais je ne trouve pas la dépendance appropriée à coller dans build.gradle. Pouvez-vous m'aider et m'envoyer la ligne appropriée?

63
Dabler

Installation de Dagger 2 sur Android Studio 2

// Application build.gradle
dependencies {
    compile 'com.google.dagger:dagger:2.4'
    annotationProcessor "com.google.dagger:dagger-compiler:2.4"
}

Dépôts Maven:

Recherchez les dernières versions des dépendances ci-dessus dans le référentiel Maven:


Notes: Android Studio <2.2

Les anciennes versions de Android Studio need Android-apt pour le traitement des annotations.

// 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'

Et

// Application build.gradle
dependencies {
    compile 'com.google.dagger:dagger:2.4'
    apt "com.google.dagger:dagger-compiler:2.4"
}

Notes: Dague <2.1

Pour Dagger <2.1-SNAPSHOT, le javax.annotation est nécessaire pour le @Generated annotation utilisée dans le code généré par Dagger (voir github.com/google/dagger/issues/95 ). L'annotation n'est pas incluse dans le fichier jar de l'API Android, vous devrez donc utiliser l'une de ces bibliothèques ( voir différences ):

// Application build.gradle
dependencies {
    compile 'javax.annotation:jsr250-api:1.0'
}
137
bcorso

Vous n'avez plus besoin du plugin Android-apt , toutes les fonctionnalités précédemment fournies par Android-apt sont désormais disponibles dans le Android Gradle version 2.2 du plugin

https://bitbucket.org/hvisser/Android-apt/wiki/Migration

Mettre à jour le plugin Gradle sur

classpath 'com.Android.tools.build:gradle:2.2.0'

et dépendances Dague à

compile 'com.google.dagger:dagger:2.4'
annotationProcessor 'com.google.dagger:dagger-compiler:2.4'

À votre santé!

7
3xplore
dependencies {
    implementation 'com.google.dagger:dagger:2.0-SNAPSHOT'
}

dans votre application/build.gradle

et

allprojects {
    repositories {
        ...
        maven {
            url "https://oss.sonatype.org/content/repositories/snapshots"
        }
    }
}

dans build.gradle de votre projet.

5
slnowak

J'ai eu quelques problèmes avec cela plus tôt aujourd'hui. Voici ce qui a fonctionné pour moi avec les dernières versions à cette date en utilisant Android Studio 2.0 preview 8:

buid.gradle (Module: 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 (Projet: 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/'
        }
    }

}
5
Jon Teets

Ajoutez ces dernières dépendances dans votre application/build.gradle avec la dernière version de Android studios 3.0

dependencies {

//Dagger
implementation 'com.google.dagger:dagger:2.24'
implementation 'com.google.dagger:dagger-Android:2.24'
implementation 'com.google.dagger:dagger-Android-support:2.24'

}

Implémentation simple de Dagger 2 Dagger 2 with MVP

0
ramkrishna kushwaha