android - ButterKnife ViewBinder 类在使用 Jack 时被丢弃

标签 android butterknife

我将 ButterKnife 与 Jack 一起使用(Android 构建工具版本 24.0.3),并且 ViewBinder 类在构建过程中的某个时候被丢弃。结果, View 无法被 ButterKnife 绑定(bind),因为在 ButterKnife.findBindingConstructorForClass 中找不到 ViewBinder 类。

我的 build.gradle文件包含使用 Jack 时所需的依赖项:

dependencies {
    // ...
    compile 'com.jakewharton:butterknife:8.4.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
}

目录app/build/intermediates/classes包含 ViewBinder 类,但 app/build/intermediates/packaged/debug/classes.zip没有。

这是构建配置问题还是错误?

最佳答案

不知何故,Android Studio 中的“清理并重新运行”并没有清理构建输出。手动清理后,这些类被正确编译。

编辑:这只是一个临时修复,因为在没有事先清理的情况下的后续重建中,Jack 不会以 jayce 格式创建 ViewBinder 类。

关于android - ButterKnife ViewBinder 类在使用 Jack 时被丢弃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39873347/

相关文章:

android - fragment View 即使在初始化后也是空的

android - ButterKnife:未找到。尝试父类(super class) android.support.v7.app.AppCompatActivity

android - 如何显示 Location.distanceBetween 的结果

android - 如何在android中以天,小时(24),分钟(60),秒(60)获取两个日期之间的差异

android - 跨 Activity 访问数据的有效方法

java - onClickListener 使用 Butterknife

android - Dagger 2 Presenter 注入(inject)返回空值

java - 安卓 ButterKnife java.lang.NoClassDefFoundError : Failed resolution of: Lbutterknife/ButterKnife

Android:使用 OpenGL 双 channel 渲染到 SurfaceTexture

java - 运行测试时 Robolectric PowerMock java.lang.NoClassDefFoundError 错误