我面临Dagger实施问题

时间:2018-09-15 11:29:44

标签: android dagger-2 android-studio-3.0 dagger

  

我实现了完整的匕首实现,如添加的   组件,提供,模块和注入,最后面对以下内容   问题请提出解决办法

Program type already present: dagger.internal.codegen.DaggerStreams$$Lambda$12  
  

这是gradle代码

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "app.rxjavaexample.com.daggerexample"
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.0.2'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    implementation 'com.google.dagger:dagger:2.16'
    implementation 'com.google.dagger:dagger-compiler:2.16'
    implementation 'com.android.support:design:27.0.2'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.16'
    implementation 'com.android.support:recyclerview-v7:27.0.2'
}

5 个答案:

答案 0 :(得分:5)

删除此行:

implementation 'com.google.dagger:dagger-compiler:2.16'

答案 1 :(得分:0)

  

从应用程序的gradle文件(应用程序模块)中删除以下链接后,问题得到解决

implementation 'com.google.dagger:dagger-compiler:2.16'

答案 2 :(得分:0)

由于依赖冲突Dagger 1和Dagger 2而发生问题, 有两个选择

  1. 匕首1和匕首2一起生活 Try this

2。迁移到匕首2 (最佳解决方案,因为不推荐使用Dagger v1)

将gradle依赖项更改为

implementation 'com.google.dagger:dagger-android:2.17'
implementation 'com.google.dagger:dagger-android-support:2.17'
annotationProcessor 'com.google.dagger:dagger-android-processor:2.17'
//default dependency
annotationProcessor 'com.google.dagger:dagger-compiler:2.17'

答案 3 :(得分:0)

  

问题在删除以下链接后解决,并将其添加到gradle文件中

implementation 'com.google.dagger:dagger-compiler:2.17'

答案 4 :(得分:-2)

<ul>
  <li class="listItem">
    <a>
       A Link
    </a>
  </li>
</ul>

将版本更改为2.15可能会起作用 还更改了实现方式以编译为匕首