我最近切换到ButterKnife版本7.0.1并且我一直收到此错误。它指向代码的这一部分:
以下是代码的确切部分:
public class SupportedBanksActivity extends AppCompatActivity {
@Bind(R.id.activity_supported_banks_lv)
ListView mListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_supported_banks);
ButterKnife.bind(this);
}
}
和错误:
错误:找不到符号方法bind(SupportedBanksActivity)
我不明白为什么会这么说。我可以进入ButterKnife库的这个方法,我看到它就在那里。我对我的代码进行了以下更改:
的build.gradle
lintOptions {
disable 'InvalidPackage'
}
packagingOptions {
exclude 'META-INF/services/javax.annotation.processing.Processor'
}
dependencies {
compile 'com.jakewharton:butterknife:7.0.1'
}
proguard的-rules.txt
-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewBinder { *; }
-keepclasseswithmembernames class * {
@butterknife.* <fields>;
}
-keepclasseswithmembernames class * {
@butterknife.* <methods>;
}
答案 0 :(得分:0)
您好我使用过butterknife示例,我的gradle文件中没有包含您的gradle文件中的行,所以可能是问题尝试
从中移除以下行: - &gt;
lintOptions {
disable 'InvalidPackage'
}
packagingOptions {
exclude 'META-INF/services/javax.annotation.processing.Processor'
}