Android Paging3 Codelab Room分页编译失败,提示缺失room-paging依赖
解决Room Dao返回PagingSource时的依赖缺失错误
我之前跟着这个Paging3 Codelab学习的时候也碰到过一模一样的问题!其实问题出在Room要支持返回PagingSource,需要单独引入room-paging绑定依赖,这个细节可能官方Codelab里没强调清楚,导致你对比示例代码时容易忽略。
问题原因
Room的核心库(room-runtime/room-ktx)并没有内置PagingSource的支持,必须通过专门的room-paging库来实现Room和Paging3的联动。你的build.gradle里刚好漏掉了这个依赖,所以编译时会提示必须添加room-paging依赖。
解决方案
在你的模块级build.gradle的依赖块中,添加room-paging的依赖,版本要和你使用的Room版本保持一致:
roomVersion = '2.5.0' pagingVersion = '3.1.1' // 已有的依赖 implementation "androidx.room:room-runtime:$roomVersion" implementation "androidx.room:room-ktx:$roomVersion" implementation "androidx.paging:paging-runtime-ktx:$pagingVersion" kapt "androidx.room:room-compiler:$roomVersion" // 新增这一行! implementation "androidx.room:room-paging:$roomVersion"
额外检查点
- 版本兼容性:确保
room-paging的版本和Room核心版本完全一致(比如都是2.5.0),同时Paging3的版本(3.1.1)要和Room版本兼容,Room 2.5.x搭配Paging3 3.1.x是没问题的。 - 同步并重建项目:添加依赖后,点击Android Studio的"Sync Project with Gradle Files"按钮,然后执行
Build > Clean Project和Build > Rebuild Project,确保依赖被正确引入。 - 确认示例代码:官方Codelab的最终项目应该在依赖配置里包含了
room-paging,你可以再仔细核对下——有时候可能是复制依赖时漏掉了这一行。
完成这些步骤后,RepoDao里返回PagingSource<Int, Repo>的编译错误应该就消失了。
内容的提问来源于stack exchange,提问作者Alejandro Cumpa
相关产品推荐
相关产品推荐

