Closed suchen2 closed 1 year ago
给使用viewBinding和viewModel的module混淆文件里加上以下规则可解决
################ ViewBinding & DataBinding & ViewModel ###############
-keep class * extends androidx.lifecycle.ViewModel{*;}
-keep public interface androidx.viewbinding.ViewBinding
-keep class * implements androidx.viewbinding.ViewBinding{*;}
-keepclassmembers class * implements androidx.viewbinding.ViewBinding {
public static * inflate(android.view.LayoutInflater);
public static * inflate(android.view.LayoutInflater, android.view.ViewGroup, boolean);
public static * bind(android.view.View);
}
在ViewBindUtil.kt文件中的 withGenericBindingClass 方法, 抛出异常: java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
混淆后第三次的数组中只有一个元素,希望能帮忙提供一下解决方案,谢谢!
return block.invoke(genericSuperclass.actualTypeArguments[1] as Class<VB>)
这是正常运行的日志,打印的数组 actualTypeArguments![4c0136ebf97aa043e6637d7f210697d](https://user-images.githubusercontent.com/30523319/203460836-22564093-789f-49fa-8a8e-7ff4de7c209a.png)
这是混淆后崩溃的日志![34368f12a83334a43d466ae77c7fa54](https://user-images.githubusercontent.com/30523319/203460922-ba839d59-fbd7-4289-9130-df834481ad0d.png)