在最近重构过的项目中有使用dataBinding或viewBinding,在调试的时候没有问题,但是在混淆过后出现了崩溃:
![](https://i-blog.csdnimg.cn/blog_migrate/2183b760065c114cbba63675a412b090.png)
我们知道viewbinding的初始化是ActivityMainBinding.inflate()
而我是通过反射去初始化viewbinding的
很明显,布局所生成的类在混淆的过程中被干掉了,所以需要在混淆文件(proguard-rules.pro)中配置:
################ ViewBinding & DataBinding ###############
-keepclassmembers class * implements android.viewbinding.ViewBinding {
public static * inflate(android.view.LayoutInflater);
public static * inflate(android.view.LayoutInflater, android.view.ViewGroup, boolean);
public static * bind(android.view.View);
}
经测试,这个方法dataBinding和viewBinidng都适用