【问题标题】:Not able to import @Inject annotation无法导入@Inject 注释
【发布时间】:2021-09-09 22:24:36
【问题描述】:

我已经在我的项目中实现了 Hilt 依赖项,但是当我的构造函数需要 @Inject 注释时,它不起作用。基本上,当我尝试手动导入它时,我发现 javax 中的注入文件夹是空的。所以结构就像javax.inject。之后我什么也得不到,因为注入文件夹是空的。我已经尝试重建和清理他的项目。我也尝试过使缓存无效,但似乎没有任何效果。我怎样才能完成这项工作?

依赖列表

dependencies {
    implementation(project(":shared"))

    implementation(AndroidX.appCompat)

    implementation(Compose.runtime)
    implementation(Compose.runtimeLiveData)
    implementation(Compose.ui)
    implementation(Compose.material)
    implementation(Compose.uiTooling)
    implementation(Compose.foundation)
    implementation(Compose.compiler)
    implementation(Compose.constraintLayout)
    implementation(Compose.activity)
    implementation(Compose.navigation)

    implementation(Google.material)

    implementation(Hilt.hiltAndroid)
    implementation(Hilt.hiltNavigation)
    kapt(Hilt.hiltCompiler)

    implementation(Kotlinx.datetime)

    debugImplementation(SquareUp.leakCanary)
}

刀柄版本 - 2.37

【问题讨论】:

  • 您能在此处添加您的依赖列表吗?
  • 是的,我已经用使用的依赖项更新了问题
  • @user477174 找到了任何解决方案,我遇到了同样的错误! Android Studio 4.2.2
  • 这里出现同样的错误,你找到解决办法了吗?
  • 我可以通过下载 android bumblebee 版本来“修复”它

标签: java android kotlin dagger-hilt kmm


【解决方案1】:

你所有的依赖都是对的,它只是一个 android studio 的 bug!

我在使用 Android Studio 4.2.2 时遇到了同样的问题,我使用 Android Studio 的测试版解决了

【讨论】:

  • 谢谢,这帮助我解决了我的问题。希望这个错误很快能在稳定版上得到修复!
  • @AndrewSteinmetz 现在解决了!您使用的是哪个版本的 kotlin?
  • 在 Android Studio 北极狐上仍然有这个问题 | 2020.3.1 补丁 3 下载了 Android studio Bumblebee 并且成功了
【解决方案2】:

我相信您缺少 gradle 文件中的插件

plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-kapt'
    id 'dagger.hilt.android.plugin'
}

【讨论】:

  • 我的 gradle 文件中确实有所有这些插件
【解决方案3】:

如果你的javax文件夹是空的,你需要移除javax缓存,让Gradle重新下载。

  1. 右键单击 javax 库并选择库属性
  2. 在对话框中,转到地址并删除该文件夹,让 Gradle 再次下载库。
  3. 同步 Gradle。它将下载jar并且文件夹不再为空

【讨论】:

    猜你喜欢
    • 2019-03-24
    • 2021-03-13
    • 2021-04-11
    • 1970-01-01
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多