未解决的参考:"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'
}
到目前为止我尝试过的...
- 在互联网上搜索解决方案,包括
- 已删除 .idea 文件夹并重新启动
- 使缓存无效并重新启动
- 清理项目
- Gradle同步
- 哭泣
您是否在项目(而非应用程序)的 build.gradle 文件中添加了 jcenter() 依赖项?
allprojects {
repositories {
...
jcenter()
}
}
您应该使用 implementation 'com.jakewharton:butterknife:10.2.1'
而不是 annotationProcessor。此依赖项包含您缺少的包,因此如果您想在代码中使用它,它应该是 implementation
或 api
。
在这种情况下,annotationProcessor 对您不利,因为它通常用于代码生成器,如 butterknife-compiler
。
我遇到了上述编译器错误,但无论我做什么都无法修复它。
我的活动
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'
}
到目前为止我尝试过的...
- 在互联网上搜索解决方案,包括
- 已删除 .idea 文件夹并重新启动
- 使缓存无效并重新启动
- 清理项目
- Gradle同步
- 哭泣
您是否在项目(而非应用程序)的 build.gradle 文件中添加了 jcenter() 依赖项?
allprojects {
repositories {
...
jcenter()
}
}
您应该使用 implementation 'com.jakewharton:butterknife:10.2.1'
而不是 annotationProcessor。此依赖项包含您缺少的包,因此如果您想在代码中使用它,它应该是 implementation
或 api
。
在这种情况下,annotationProcessor 对您不利,因为它通常用于代码生成器,如 butterknife-compiler
。