66

我正在尝试将 Dagger2 添加到我在 Android Studio 中的项目中,但我找不到正确的依赖项来粘贴到 build.gradle 中。你能帮我把正确的线路发给我吗?

4

6 回答 6

144

在 Android Studio 2 上安装 Dagger 2

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

Maven 存储库:

在 Maven Repository 中找到上述依赖项的最新版本:


注意: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

对于 Dagger < 2.1-SNAPSHOT ,Dagger 生成的代码中使用javax.annotation的注释是必需的(参见github.com/google/dagger/issues/95)。注释不包含在 Android API jar 中,因此您需要使用以下库之一(请参阅差异):@Generated

// Application build.gradle
dependencies {
    compile 'javax.annotation:jsr250-api:1.0'
}
于 2015-06-10T22:06:39.657 回答
8

您不再需要 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'

和 Dagger 依赖项

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

干杯!

于 2016-09-26T00:31:39.917 回答
5
dependencies {
    implementation 'com.google.dagger:dagger:2.0-SNAPSHOT'
}

在你的 app/build.gradle

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

在项目的 build.gradle 中。

于 2015-02-25T20:08:27.847 回答
5

我今天早些时候遇到了一些麻烦。以下是截至目前使用 Android Studio 2.0 预览版 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(项目:项目):

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

}
于 2016-01-29T19:05:49.177 回答
0

更新最新版本的 Dagger-2 依赖项

当前版本:2.36。您可以在此处找到以下所有依赖项的最新版本。

对于核心匕首依赖项,

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

对于android依赖项,

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'

如果您的项目使用Kotlin,则使用kapt而不是annotationProcessor. 要使用kapt,您需要在 Gradle 中添加插件 kotlin-kapt

于 2021-06-01T11:15:52.840 回答
0

使用最新版本的 Android Studios 3.0 在您的 app/build.gradle 中添加这些最新的依赖项

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的简单实现

于 2019-07-26T12:06:19.400 回答