Dagger2-Abhängigkeit – Gradle

Lesezeit: 3 Minuten

Ich versuche, Dagger2 zu meinem Projekt in Android Studio hinzuzufügen, aber ich kann keine richtige Abhängigkeit zum Einfügen in build.gradle finden. Könnt ihr mir helfen und mir die richtige Zeile schicken?

Benutzer-Avatar
bkorso

Installieren von Dagger 2 auf Android Studio 2

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

Maven-Repositories:

Finden Sie die neuesten Versionen der oben genannten Abhängigkeiten im Maven-Repository:


Hinweise: Android Studio < 2.2

Ältere Versionen von Android Studio benötigen android-apt für die Anmerkungsverarbeitung.

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

Und

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

Anmerkungen: Dolch < 2.1

Für Dolch < 2.1-SNAPSHOT die javax.annotation wird benötigt für die @Generated Anmerkung, die in von Dagger generiertem Code verwendet wird (siehe github.com/google/dagger/issues/95). Die Anmerkung ist nicht im Android-API-JAR enthalten, daher müssen Sie eine dieser Bibliotheken verwenden (Unterschiede sehen):

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

  • Das Kompilieren von ‘org.glassfish:javax.annotation:10.0-b28’ hat es für mich getan, sonst habe ich immer wieder NPE von Gradle bekommen. Warum haben die Entwickler diese Abhängigkeit nicht erwähnt? Danke noch einmal!

    – George

    21. August 2015 um 22:28 Uhr


  • Benötige ich javax.annotations, wenn ich Java 7 verwende?

    – Anton Schkurenko

    11. Oktober 2015 um 17:23 Uhr

  • @AntonShkurenko Sie benötigen es für alle Android-Projekte, da Android Java 6 verwendet. Siehe github.com/google/dagger/issues/95

    – bkorso

    11. Oktober 2015 um 19:18 Uhr

  • Sie brauchen das apt-Plugin nicht mehr, bitte überprüfen Sie meine aktualisierte Antwort unten

    – rahul.ramanujam

    10. Oktober 2016 um 22:06 Uhr

  • Android Studio sagt, dass die Implementierung ‘com.google.dagger:dagger:2.4’ geändert werden soll, anstatt zu kompilieren

    – mding5692

    28. Oktober 2018 um 5:18 Uhr


Sie benötigen das android-apt-Plugin nicht mehralle Funktionen, die zuvor von android-apt bereitgestellt wurden, sind jetzt in Android verfügbar Gradle-Plugin-Version 2.2

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

Aktualisieren Sie das Gradle-Plugin auf

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

und Dagger-Abhängigkeiten zu

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

Prost!

Damit hatte ich heute etwas Probleme. Folgendes hat bei mir mit den neuesten Versionen ab diesem Datum mit Android Studio 2.0 Preview 8 funktioniert:

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

}

Benutzer-Avatar
slnowak

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

in Ihrer app/build.gradle

und

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

in build.gradle Ihres Projekts.

Fügen Sie diese neuesten Abhängigkeiten in Ihrer app/build.gradle mit der neuesten Version von Android Studios 3.0 hinzu

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'

}

Einfache Implementierung von Dagger 2 Dolch 2 mit MVP

Benutzer-Avatar
Anand

Aktualisieren der neuesten Version von Dagger-2-Abhängigkeiten

Aktuelle Version: 2.36. Sie können die neuesten Versionen aller unten aufgeführten Abhängigkeiten finden hier.

Für Kerndolch-Abhängigkeiten,

dependencies {
  implementation 'com.google.dagger:dagger:2.36'
  annotationProcessor 'com.google.dagger:dagger-compiler:2.36'
}

Für Android-Abhängigkeiten

implementation 'com.google.dagger:dagger-android:2.36'
implementation 'com.google.dagger:dagger-android-support:2.36'
annotationProcessor 'com.google.dagger:dagger-android-processor:2.36'

Wenn Ihr Projekt verwendet Kotlindann benutze kapt Anstatt von annotationProcessor. Benutzen kaptmüssen Sie hinzufügen Plugin kotlin-kapt in deinem Gradle.

1225250cookie-checkDagger2-Abhängigkeit – Gradle

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy