You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Android Studio 3.0.1中打开SQLite文件失败,能否直接用DB Browser打开?

解决Android Studio打开SQLite文件乱码及直接用DB Browser访问的问题

一、Android Studio中显示乱码的解决办法

你看到乱码是因为把二进制格式的SQLite数据库当成纯文本SQL文件打开了——SQLite不是普通的SQL脚本,是封装了数据的二进制容器,直接用SQL File类型打开自然会显示一堆乱码。这里有两个实用的解决方式:

  • 用Android Studio自带的Database Inspector(推荐)
    这是官方最便捷的工具,完全不需要导出文件:

    1. 确保你的模拟器/真机正在运行目标应用,且应用为debug版本;
    2. 打开Android Studio顶部菜单的 View > Tool Windows > App Inspection
    3. 在App Inspection面板切换到Database Inspector标签,就能看到应用的所有SQLite数据库文件,点击即可可视化浏览表结构、查询数据,甚至直接执行SQL语句。
  • 安装SQLite相关插件
    如果习惯用插件辅助,可以在Android Studio的Plugins市场搜索安装「Database Navigator」或者「SQLiteStudio Integration」这类工具。安装完成后,配置插件指向data/data/你的应用包名/databases/下的数据库文件,就能正常打开并浏览内容了。

二、无需保存到本地,用DB Browser for SQLite打开的可行方案

Android的data/data目录是应用私有目录,普通桌面程序(比如DB Browser)没有权限直接跨进程访问设备内的这个路径,但可以通过adb命令临时拉取文件到电脑临时目录,用完即可删除,相当于“间接直接”打开:

  1. 打开终端,执行adb拉取命令:
    adb pull /data/data/你的应用包名/databases/你的数据库文件名 ./temp_sqlite.db
    
    把命令里的「你的应用包名」和「你的数据库文件名」替换成实际内容,比如com.example.myappapp_db.db
  2. 直接用DB Browser for SQLite打开生成的temp_sqlite.db文件;
  3. 操作完成后,直接删除这个临时的temp_sqlite.db文件即可,无需长期保留在本地。

如果你的设备是root过的真机,还可以通过root文件管理器把数据库文件复制到外部存储(比如/sdcard/),然后DB Browser就能直接打开这个外部存储的文件,但root设备毕竟是少数情况,adb的方法更通用。

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

火山引擎 最新活动