小编Ali*_*rcı的帖子

具有相同返回类型的@Named提供程序最终会给出java.lang.IllegalArgumentException:Duplicate

这是问题,

我正在开发一个LibGDX项目,我有不同平台的不同模块.

这是我的android模块的样子:

@Module(
    includes = {BaseModule.class, NetModule.class},
    injects = {DummyProjectActivity.class, DummyProject.class},
    overrides = true)
public class DummyProjectAndroidModule {

    ...

    @Provides @Singleton @Named("DummyOne")
    DummyInterface provideDummyOne() {
        return new DummyOne();
    }

    @Provides @Singleton @Named("DummyTwo")
    DummyInterface provideDummyTwo() {
        return new DummyTwo();
    }

    @Provides @Singleton @Named("DummyConsumer")
    DummyConsumer provideDummyConsumer(@Named("DummyOne") DummyInterface dummyOne,
                                    @Named("DummyTwo") DummyInterface dummyTwo) {
        return new DummyConsumer(dummyOne, dummyTwo);
    }
}
Run Code Online (Sandbox Code Playgroud)

..在这里我的桌面模块如何:

@Module(
    includes = {BaseModule.class, NetModule.class},
    injects = {DummyProjectDesktop.class, DummyProject.class},
    overrides = true)
public class DummyProjectDesktopModule {
Run Code Online (Sandbox Code Playgroud)

好好休息几乎一样.然而,当我正在为桌面构建项目时,一切都很顺利,在Android方面,我得到了这个错误让我大吃一惊.

Process: net.alicanhasirci.mobile.DummyProject.android, PID: 4603
    java.lang.RuntimeException: …
Run Code Online (Sandbox Code Playgroud)

java android dependency-injection libgdx dagger

24
推荐指数
1
解决办法
530
查看次数

标签 统计

android ×1

dagger ×1

dependency-injection ×1

java ×1

libgdx ×1