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
相关产品推荐
相关产品推荐

