一種導致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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章