IT TIP

Dagger2 종속성-Gradle

itqueen 2020. 11. 19. 22:44
반응형

Dagger2 종속성-Gradle


Android Studio의 프로젝트에 Dagger2를 추가하려고하는데 build.gradle에 붙여 넣을 적절한 종속성을 찾을 수 없습니다. 도와 주시고 적절한 전화를 보내 주시겠습니까?


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 리포지토리에서 위 종속성의 최신 버전을 찾습니다.


참고 : 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"
}

참고 : Dagger <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'
}

더 이상 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'

건배!


오늘 일찍이 문제가 발생했습니다. 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 (프로젝트 : 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/'
        }
    }

}

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.


최신 버전의 Android 스튜디오 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'

}

MVP 로 Dagger 2 Dagger 2 의 간단한 구현

참고URL : https://stackoverflow.com/questions/28661693/dagger2-dependency-gradle

반응형