一种导致AbstractMethodError问题的原因

一种导致AbstractMethodError问题的原因

1)App和B-lib依赖于A-lib的不同版本,并且都实现了A-lib中定义的一个接口IFunc,运行时A-lib会调用各IFunc实现;

2)B-lib仅在编译阶段依赖A-lib,实际运行的是APP中集成的A-lib;

3)APP端升级了A-lib,在IFunc中新增了一个方法aNewMethod()。由于B-lib并未针对v2版本的A-lib进行适配,因此运行时当A-lib调用B-lib中的IFunc.aNewMethod()时就会发生AbstractMethodError。

 

解决办法:

1)基于A-lib-v2重新编译B-lib;