我面临 Dagger 实施问题
I am facing Dagger implementation issue
I implemented complete dagger implementation like added
component,provides,module and Inject and at the end i face following
issue kindly suggest solution
Program type already present: dagger.internal.codegen.DaggerStreams$$Lambda
here is gradle code
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'
}
annotationProcessor 'com.google.dagger:dagger-compiler:2.15'
将版本更改为 2.15 可能会起作用
还更改实现以编译 dagger
删除这一行:
implementation 'com.google.dagger:dagger-compiler:2.16'
由于 Dagger 1 和 Dagger 2 的依赖冲突而出现问题,
有两个选择
- 匕首1和匕首2住在一起
Try this
2.Migrate 到匕首 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'
issue resolved after removing following link and add this in gradle file
implementation 'com.google.dagger:dagger-compiler:2.17'
I implemented complete dagger implementation like added component,provides,module and Inject and at the end i face following issue kindly suggest solution
Program type already present: dagger.internal.codegen.DaggerStreams$$Lambda
here is gradle code
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'
}
annotationProcessor 'com.google.dagger:dagger-compiler:2.15'
将版本更改为 2.15 可能会起作用 还更改实现以编译 dagger
删除这一行:
implementation 'com.google.dagger:dagger-compiler:2.16'
由于 Dagger 1 和 Dagger 2 的依赖冲突而出现问题, 有两个选择
- 匕首1和匕首2住在一起 Try this
2.Migrate 到匕首 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'
issue resolved after removing following link and add this in gradle file
implementation 'com.google.dagger:dagger-compiler:2.17'