Butterknife 突然停止工作

Butterknife Suddenly Stopped Working

昨天我正在 it.But 中使用 butterknife 处理我正在进行的项目,突然它停止了 working.The ButterKnife.bind(this) 无法绑定视图,因此所有视图都抛出 NullPointerException。我不明白发生了什么事突然停止了working.Its 奇怪的情况

这里有几点我已经做过但没有用

  1. 使用最新版本我目前使用的是8.8.1
  2. 使用我尝试过的旧版本 8.0.1 和 8.6.0
  3. 清理并重建
  4. 使缓存无效
  5. 删除 Gradle 和构建文件

以下是我使用的版本

ext {
    // sdk and tools
    minSdkVersion = 21
    targetSdkVersion = 27
    compileSdkVersion = 27
    buildToolsVersion = '26.0.2'

    // dependencies versions
    supportLibraryVersion = '27.0.0'
    playServicesVersion = '10.2.4'
    butterKnifeVersion = '8.8.1'
    retrofitVersion = '2.3.0'

}

过去 8 小时以来,我一直在为这个愚蠢的问题而苦苦思索 issue.If 任何可以提供帮助的人都会被占用

有两种可能:

  1. 你的外部依赖没有升级,检查你项目的 "External Libraries" 部分并比较它是否升级到最新版本,即 8.8.1(也尝试使 gradle 离线工作)
  2. 如果您升级到 Android 插件 Gradle 3.0 或更高版本,您的项目将自动使用默认版本的 buildTools https://developer.android.com/studio/releases/build-tools.html#notes

最后我发现 solution.Ii 是由于 Kotlin 插件。自从我在 Android Studio 3.0

中更新了 Kotlin 插件后就发生了

如果您使用的是 Kotlin,那么 annotationProcessor 将不起作用,您需要使用 kapt

所以替换这个

compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

有了这个

compile 'com.jakewharton:butterknife:8.8.1'
kapt'com.jakewharton:butterknife-compiler:8.8.1'

它将解决问题