【问题标题】:Dagger2 ApplicationComponent not generated(git project included)未生成 Dagger2 ApplicationComponent(包括 git 项目)
【发布时间】:2020-02-22 22:43:02
【问题描述】:

所以我正在尝试遵循 Google 的架构 example,但我的 daggerappcomponent 没有生成。我尝试更改 gradle 文件,但我不确定我做错了什么。第一次做这样的“高级”事情(至少对我来说)。我注释掉了 DI 包中的所有内容,因为没有 QuoteApplication 就无法使其工作,并且如果不构建项目并希望它会生成必要的 dagger 文件,我就无法让 QuoteApplication 工作。

    override fun applicationInjector(): AndroidInjector<out DaggerApplication> {
        return DaggerApplicationComponent.factory().create(applicationContext) //here is the problem
    }

这是项目https://github.com/Nikola-Milovic/QuoteAppMvvm 我尝试了很多不同的构建 gradle,并尝试清理 rebuidling 等等。我已阅读所有在线修复程序,但没有任何效果。我确定这是我的错,但它可能是一个错误或什么的。我最后的手段是在这里问。有点卡住了。

【问题讨论】:

  • 请提供一些错误信息。

标签: android-studio kotlin dependency-injection dagger-2 auto-generate


【解决方案1】:

对我来说效果很好。

  1. 我建造。
  2. 组件已生成。
  3. buld 失败,因为没有导入。
  4. 我导入了新创建的组件。 (导入 com.example.quoteappmvvm.di.DaggerApplicationComponent)
  5. 有效。

包 com.example.quoteappmvvm

import com.example.quoteappmvvm.di.DaggerApplicationComponent >>> 你需要这个!!!

导入 dagger.android.AndroidInjector

导入 dagger.android.support.DaggerApplication

//open class QuoteApplication{
////    override fun applicationInjector(): AndroidInjector<out DaggerApplication> {
////
////        return DaggerApplicationComponent.factory().create(applicationContext)
////    }
//
////    override fun onCreate() {
////        super.onCreate()
////       // if (BuildConfig.DEBUG) Timber.plant(DebugTree())
////    }
//}

open class QuoteApplication : DaggerApplication() {
    override fun applicationInjector(): AndroidInjector<out DaggerApplication> {

        return DaggerApplicationComponent.factory().create(this)
    }

    override fun onCreate() {
        super.onCreate()
       // if (BuildConfig.DEBUG) Timber.plant(DebugTree())
    }
}

【讨论】:

    猜你喜欢
    • 2015-07-05
    • 2018-11-04
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多