unl*_*101 7 android butterknife android-proguard
我在我的Android应用程序中运行ButterKnife版本8.5.1.如果我尝试为ButterKnife进行ProGuard设置,我的发行版本仍然会崩溃.官方的ButterKnife Github页面上有一个问题,它告诉您进行以下设置:
-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewBinder { *; }
-keepclasseswithmembernames class * {
@butterknife.* <fields>;
}
-keepclasseswithmembernames class * {
@butterknife.* <methods>;
}
Run Code Online (Sandbox Code Playgroud)
或者,它被编写为使用这些设置:
# Butterknife
-dontwarn butterknife.internal.**
-keep class **$$ViewInjector { *; }
-keepnames class * { @butterknife.InjectView *;}
Run Code Online (Sandbox Code Playgroud)
这些都不适合我的配置.访问ButterKnife绑定的视图时,我仍然遇到崩溃.那么你需要为ButterKnife 8制作任何新的设置吗?
在ButterKnife 8中,自动生成的子类被称为不同的.您可以通过以下方式处理版本7和8的ProGuard设置:
###---------------Begin: proguard configuration for ButterKnife ----------
# For Butterknife:
-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
# Version 7
-keep class **$$ViewBinder { *; }
# Version 8
-keep class **_ViewBinding { *; }
-keepclasseswithmembernames class * { @butterknife.* <fields>; }
-keepclasseswithmembernames class * { @butterknife.* <methods>; }
###---------------End: proguard configuration for ButterKnife ----------
Run Code Online (Sandbox Code Playgroud)
虽然我使用的@OnClick方法,我甚至不需要最后一行.这些设置对我来说非常合适.试试看!
| 归档时间: |
|
| 查看次数: |
2028 次 |
| 最近记录: |