You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio升级后DAO语法高亮、DB Inspector执行SQL失效问题

Android Studio Room DAO数据库检查器快捷执行按钮失效修复方案

以下是按优先级排序的可落地修复步骤:

  • 彻底清理损坏的项目索引与缓存
    关闭Android Studio,手动删除项目根目录下的.idea文件夹、所有子模块下的.gradle、build目录;重启IDE后依次点击File > Invalidate Caches...,勾选Clear file system cache and Local History选项,执行Invalidate and Restart,等待项目全量索引重建完成后再做功能验证。仅回退Gradle配置不清理缓存的话,升级过程中损坏的Room关联索引不会自动修复。
  • 修正语言注入配置(适配新版IDE规则)
    旧教程里提到的Android Room SQL注入项是Arctic Fox及更早版本Android Studio的命名,Chipmunk及之后的版本已经统一更名为Room SQL,不要配置通用SQL注入规则:打开Settings > Editor > Language Injections,新增规则时选择Android分类下绑定androidx.room.Query注解value参数的Room SQL注入项,规则作用范围选择当前项目而非全局,保存后随便修改DAO里@Query注解内的SQL字符(比如加个空格再删除)触发重新识别即可。
  • 检查Database Inspector功能开关与触发条件
    • 打开Settings > Tools > Database Inspector,确认Show query run gutter icons for Room @Query annotations选项处于勾选状态,版本升级后该选项有概率被自动重置为关闭。
    • 保证运行的构建变体是debug可调试版本,连接的设备/模拟器API等级≥26,等Database Inspector成功连接到应用进程、完整加载出应用内的数据库文件列表后,再打开DAO文件查看侧栏运行按钮——如果在数据库连接完成前就打开了DAO文件,IDE不会主动加载快捷按钮。
  • 对齐Room依赖与IDE版本的兼容关系
    如果你使用的是Hedgehog(2023.1.1)及更高版本的Android Studio,Room依赖版本必须≥2.5.0,旧版本Room生成的编译期元数据不被新版Database Inspector识别,无法建立@Query语句和运行中数据库的关联;如果坚持使用2.4.x及更早的Room版本,需要将Android Studio回退到对应匹配的大版本,跨版本兼容不会生效。
  • 排查冲突配置与插件
    • 禁用所有第三方SQL语法增强、数据库管理类IDE插件,这类插件会劫持IDE原生的Room语言注入逻辑,导致原生功能失效,禁用后重启IDE验证。
    • 检查模块级build.gradle中kapt/ksp的Room编译器配置,除了room.schemaLocation之外的自定义编译参数暂时注释,重新sync项目,部分自定义参数会导致Room生成的IDE识别元数据缺失。

内容的提问来源于stack exchange,提问作者prextor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 18:14:51