Dagger2依赖 - Gradle

时间:2015-02-22 18:39:08

标签: android android-gradle dagger-2

我试图在Android Studio中将Dagger2添加到我的项目中,但我找不到适当的依赖来粘贴build.gradle。你能帮忙并给我一个合适的路线吗?

6 个答案:

答案 0 :(得分:136)

Installing Dagger 2 on Android Studio 2

define bool change = true;
...(rest of the program)...
if(radial >= r_min && radial <= r_max) {
    z_comp = zn[k] + u * ns_uz[k];

    if (z_comp >= -z_c && z_comp <= z_c)

        if (change) {
        printf("%f\t%f\t%f\t%f\t", l[k], b[k], ns[k], radial[i]);
        change = !change;
    }
} else { // if the condition of radial and z_comp is not met 
    if (!change) {
        fprintf(fp, "%f\n", radial[i - 1]);
        change = !change;
    }
}

Maven存储库:

在Maven资源库中查找上述依赖项的最新版本:

注意:Android Studio&lt; 2.2

较早版本的Android Studio需要// Application build.gradle dependencies { compile 'com.google.dagger:dagger:2.4' annotationProcessor "com.google.dagger:dagger-compiler:2.4" } 才能进行注释处理。

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'

注意:Dagger&lt; 2.1

对于Dagger&lt; 2.1-SNAPSHOT Dagger生成的代码中使用的// Application build.gradle dependencies { compile 'com.google.dagger:dagger:2.4' apt "com.google.dagger:dagger-compiler:2.4" } 注释需要javax.annotation(参见github.com/google/dagger/issues/95)。注释未包含在Android API jar中,因此您需要使用其中一个库(see differences):

@Generated

答案 1 :(得分:7)

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

干杯!

答案 2 :(得分:5)

dependencies {
    compile 'com.google.dagger:dagger:2.0-SNAPSHOT'
}
/ app.gradle

中的

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

在项目的build.gradle中。

答案 3 :(得分:5)

今天早些时候我遇到了一些麻烦。以下是使用Android Studio 2.0预览版8的最新版本对我有用的东西:

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

}

答案 4 :(得分: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 with MVP

的简单实现

答案 5 :(得分:0)

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

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

对于核心 dagger 依赖项,

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

对于安卓依赖,

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 中添加 plugin kotlin-kapt