Подтвердить что ты не робот

Зависимость Dagger2 - Gradle

Я пытаюсь добавить Dagger2 в свой проект в Android Studio, но я не могу найти правильную зависимость для вставки в build.gradle. Не могли бы вы помочь и отправить мне правильную линию?

4b9b3361

Ответ 1

Установка кинжала 2 на Android Studio 2

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

Репозитории Maven:

Найдите последние версии вышеупомянутых зависимостей в репозитории Maven:


Примечания: Android Studio < 2.2

В старых версиях Android Studio требуется android-apt для обработки аннотаций.

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

и

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

Примечания: Кинжал < 2,1

Для кинжала < 2.1-SNAPSHOT javax.annotation необходим для аннотации @Generated, используемой в коде, создаваемом кинжалом (см. github.com/google/dagger/issues/95). Аннотации не включены в банку Android API, поэтому вам нужно будет использовать одну из этих библиотек (см. Отличия):

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

Ответ 2

Вам больше не нужен плагин android-apt, все функции, которые ранее были предоставлены android-apt, теперь доступны в версии Android Gradle версии 2.2. >

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

Обновить плагин Gradle до

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

и кинжал для

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

Ура!

Ответ 3

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

в вашем приложении /build.gradle

и

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

в build.gradle вашего проекта.

Ответ 4

У меня были проблемы с этим сегодня. Здесь то, что сработало для меня с последними версиями на эту дату, с помощью Android Studio 2.0 preview 8:

buid.gradle(модуль: приложение)

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(Project: 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

Добавьте эти последние зависимости в ваш app/build.gradle с последней версией Android-студии 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'

}

Простая реализация Dagger 2 Dagger 2 с MVP