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

VS Code与Flutter:如何便捷打开Android应用本地数据库

更便捷的Android SQLite数据库访问方案(VS Code用户适用)

以下是几种比ADB备份解密更高效的方法,适配日常开发调试场景:

1. 用VS Code插件可视化拉取数据库

VS Code的ADB类插件可直接访问设备文件系统,推荐ADB Explorer或Android SDK Platform Tools插件:

  • 安装插件后,确保设备开启USB调试并连接电脑
  • 在VS Code侧边栏打开插件面板,定位到设备内的数据库路径:/data/data/[你的应用包名]/databases/
  • 右键点击目标数据库文件,选择“下载”到本地,直接用DB Browser for SQLite打开即可。

2. 用ADB命令直接拉取(最快方式)

无需复杂备份解密,一条命令即可将数据库拉到本地:

  • 打开VS Code终端,执行adb devices确认设备已连接
  • 执行拉取命令:
    adb pull /data/data/[你的应用包名]/databases/[数据库文件名] ./本地目标路径
    
    示例:adb pull /data/data/com.example.myapp/databases/app_db.db ./
  • 拉取完成后,直接用DB Browser打开本地文件。

3. 在应用内添加调试导出功能(测试阶段专属)

给应用加个调试入口(比如长按按钮、隐藏菜单),触发后将数据库复制到外部存储,之后可直接从手机文件管理器导出或用ADB拉取:

// Java示例代码,Kotlin逻辑类似
private void exportDbToDownloads() {
    File dbSource = getDatabasePath("app_db.db");
    File dbDest = new File(
        Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),
        "app_debug_db.db"
    );

    try (InputStream in = new FileInputStream(dbSource);
         OutputStream out = new FileOutputStream(dbDest)) {
        byte[] buffer = new byte[1024];
        int length;
        while ((length = in.read(buffer)) > 0) {
            out.write(buffer, 0, length);
        }
        Toast.makeText(this, "数据库已导出到下载目录", Toast.LENGTH_SHORT).show();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

注意:Android 10及以上需申请外部存储相关权限,测试阶段可临时开启权限或添加android:requestLegacyExternalStorage="true"做兼容。

4. 端口转发远程连接(进阶用法)

若不想拉取文件,可通过ADB端口转发直接远程访问数据库(需SQLite GUI工具支持):

  • 执行端口转发命令:
    adb forward tcp:5555 localfilesystem:/data/data/[你的应用包名]/databases/app_db.db
    
  • 在DB Browser for SQLite中选择“连接到远程数据库”,输入地址localhost:5555即可直接操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 15:55:27