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

Android项目集成SQLite与SQLCipher遇依赖报错求助

Android集成SQLCipher报错:无法访问SupportSQLiteDatabase的解决办法

问题原因

报错核心是net.sqlcipher.database.SQLiteDatabase继承的父类androidx.sqlite.db.SupportSQLiteDatabase在类路径中不可用或存在冲突,具体可能是以下情况:

  • SQLCipher版本与AndroidX SQLite版本不兼容,4.5.4版SQLCipher对依赖版本有特定要求,单纯更新SQLite到最新版无法解决版本匹配问题
  • 仅引入androidx.sqlite:sqlite,缺失配套的androidx.sqlite:sqlite-framework,导致父类定义无法被加载
  • 项目其他依赖引入了不同版本的AndroidX SQLite,引发类路径版本冲突

解决办法

  • 匹配兼容的依赖版本
    SQLCipher版本需与AndroidX SQLite对应,建议调整为经过验证的组合,比如:

    implementation "androidx.sqlite:sqlite:2.3.0"
    implementation "net.zetetic:android-database-sqlcipher:4.6.0"
    
  • 补充完整的AndroidX SQLite依赖
    确保同时引入核心包和框架包,SupportSQLiteDatabase的实现依赖框架包支撑:

    implementation "androidx.sqlite:sqlite-framework:2.3.0"
    
  • 排查并解决依赖冲突
    执行Gradle命令查看依赖树,定位冲突的SQLite版本:

    ./gradlew app:dependencies
    

    对引入冲突版本的第三方依赖,通过排除规则统一版本:

    implementation("第三方依赖坐标") {
        exclude group: "androidx.sqlite", module: "sqlite"
    }
    
  • 清理缓存并重建项目

    • 执行Android Studio的File -> Invalidate Caches... -> Invalidate and Restart
    • 删除项目根目录.gradle、build文件夹及app模块下的build文件夹
    • 重新执行./gradlew clean build

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:59:06