Android开发,在library中使用ButterKnife,需要做一些配置否则会遇到一些问题。
我开发中遇到的问题是,通过@BindView(R.id.xxx)查找控件时,会报“Attribute value must be constant”的异常。
解决方案如下:
在根目录build.gradle文件的dependencies目录下添加如下:
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'在module的build.gradle文件的顶部加入apply plugin: 'com.jakewharton.butterknife'
在module的build.gradle文件的dependencies目录下添加如下:
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'在module中使用R2代替R来findViewById即可.
@BindView(R2.id.xxx)