如何解决Android中使用Epoxy时出现java.lang.AbstractMethodError问题
错误原因
这个错误是Paging库版本与Epoxy的Paging集成扩展版本不兼容导致的。Epoxy内置的Paging相关扩展依赖的Paging核心库版本,和你项目中直接声明的Paging版本API签名不匹配,缺少对应实现的方法,就会抛出AbstractMethodError。你升级所有依赖未解决问题,是因为Epoxy的扩展版本没有和你使用的Paging主版本对齐。
解决方案
- 第一步:强制统一项目内所有Paging依赖的版本,在模块级build.gradle文件的dependencies代码块上方添加如下配置,将版本号替换为你项目实际使用的Paging稳定版即可:
configurations.all { resolutionStrategy { // 示例用3.2.1版本,可替换为你正在使用的Paging3正式版本 force "androidx.paging:paging-runtime-ktx:3.2.1" force "androidx.paging:paging-common-ktx:3.2.1" } }
- 第二步:确认Epoxy依赖引入正确,Paging3版本需要对应引入epoxy-paging3扩展,不要混用Paging2和Paging3的Epoxy依赖:
// 正确引入Paging3对应的Epoxy扩展 implementation "com.airbnb.android:epoxy-paging3:5.1.1" // 禁止同时引入epoxy-paging(该依赖适配的是Paging2版本)
- 第三步:执行Clean Project操作后重新构建项目,清除旧的依赖缓存。
如果上述操作完成后仍存在问题,检查你自定义的Paging相关逻辑是否调用了已废弃、仅存在于特定版本的Paging API即可。
内容的提问来源于stack exchange,提问作者Felix m
相关产品推荐
相关产品推荐

