M1芯片MacBook Pro使用Room数据库出现kaptDebugKotlin执行失败如何解决
问题根因
该报错为M1系列芯片Mac的专属适配问题:你当前使用的Room版本内置的SQLite JDBC校验库未提供arm64架构的macOS原生库,导致编译阶段执行SQL语句校验的步骤触发异常。
解决方案
方案1:升级Room到2.4.0及以上版本(推荐)
Room从2.4.0版本开始官方完成了M1芯片适配,直接升级依赖版本即可解决问题。修改你项目模块级build.gradle的Room依赖配置:
dependencies { // 可根据官方文档选择更高的稳定版本 def room_version = "2.6.1" implementation "androidx.room:room-runtime:$room_version" kapt "androidx.room:room-compiler:$room_version" // 其他Room相关依赖(如ktx、rxjava、paging整合库等)需同步升级到同版本 }
方案2:强制指定适配M1的SQLite版本
如果项目因兼容性限制暂时无法升级Room版本,可在项目根目录build.gradle中强制替换适配arm64架构的SQLite JDBC库:
allprojects { configurations.all { resolutionStrategy { // 3.36.0及以上版本的sqlite-jdbc已支持M1芯片 force 'org.xerial:sqlite-jdbc:3.36.0' } } }
配置修改完成后执行
Clean Project再重新编译即可,若仍报错可清除本地Gradle缓存后重试。
内容的提问来源于stack exchange,提问作者Sikandar
相关产品推荐
相关产品推荐

