未解决的参考:"ButterKnife"

Unresolved Reference: "ButterKnife"

我遇到了上述编译器错误,但无论我做什么都无法修复它。

我的活动

import butterknife.ButterKnife // Unresolved Reference: ButterKnife
import butterknife.BindView // Unresolved Reference: BindView

class MyActivity: AppCompatActivity() {

    @BindView(R.id.textView)
    lateinit var mTextView: TextView

    // ...

}

build.gradle(项目)

buildscript {
    repositories {
        jcenter()
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

build.gradle(模块)

dependencies {
    annotationProcessor 'com.jakewharton:butterknife:10.2.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1'
}

到目前为止我尝试过的...

  1. 在互联网上搜索解决方案,包括
  2. 已删除 .idea 文件夹并重新启动
  3. 使缓存无效并重新启动
  4. 清理项目
  5. Gradle同步
  6. 哭泣

您是否在项目(而非应用程序)的 build.gradle 文件中添加了 jcenter() 依赖项?

   allprojects {
     repositories {
      ...
      jcenter()
      }
   }

您应该使用 implementation 'com.jakewharton:butterknife:10.2.1' 而不是 annotationProcessor。此依赖项包含您缺少的包,因此如果您想在代码中使用它,它应该是 implementationapi

在这种情况下,annotationProcessor 对您不利,因为它通常用于代码生成器,如 butterknife-compiler