web-dev-qa-db-ja.com

Dagger2依存関係-Gradle

Android StudioでDagger2をプロジェクトに追加しようとしていますが、build.gradleに貼り付けるための適切な依存関係が見つかりません。

63
Dabler

Dagger 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

Dagger <2.1-SNAPSHOTの場合、Dagger生成コードで使用されるjavax.annotationアノテーションに@Generatedが必要です( github.com/google/dagger/issues/95 を参照)。注釈はAndroid API jarに含まれていないため、これらのライブラリのいずれかを使用する必要があります( 違いを参照 ):

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

Android-aptプラグインはもう必要ありません。以前Android-aptで提供されていたすべての機能は、AndroidGradleプラグインバージョン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'

乾杯!

7
3xplore
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内。

5
slnowak

今日、これについていくつかの問題がありました。 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
Jon Teets

最新バージョンの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のシンプルな実装 MVPを備えたDagger 2

0