适配Android 12后集成room-paging 2.4.0-beta01出现崩溃是什么原因?
问题原因
该错误是Room的room-paging依赖与项目中Paging库版本不兼容导致:
你引入的androidx.room:room-paging:2.4.0-beta01是基于Paging 3.1.0测试版开发的,若项目内其他Paging相关依赖(如paging-runtime、paging-common)的版本低于3.1.0,低版本Paging库的PagingDataDiffer类中不存在高版本room-paging调用的presentNewList方法实现,运行时就会抛出AbstractMethodError。
解决方案
- 方案1(推荐):统一升级所有相关依赖到稳定适配版本
将所有Paging相关依赖升级到3.1.0及以上稳定版,同时将所有Room相关依赖(包括room-paging)升级到2.4.0及以上稳定版,避免beta版的兼容问题,示例配置:
// Paging相关依赖统一版本 implementation "androidx.paging:paging-runtime-ktx:3.1.0" // Room相关依赖统一版本 api "androidx.room:room-paging:2.4.0" implementation "androidx.room:room-runtime:2.4.0" kapt "androidx.room:room-compiler:2.4.0"
- 方案2:降级room-paging适配现有Paging版本
如果暂时不打算升级项目Paging主库版本,可将room-paging降级到匹配现有Paging版本的发行版:若项目使用Paging 3.0.x版本,可使用androidx.room:room-paging:2.4.0-alpha04及更早的适配Paging 3.0的版本。 - 依赖冲突排查:如果存在第三方库间接引入不同版本Paging的情况,可通过gradle依赖查询命令检查冲突,在build.gradle中强制指定统一的Paging版本号即可。
内容的提问来源于stack exchange,提问作者Hector
相关产品推荐
相关产品推荐

