Android Studio 3.1调试时,无Device Explorer如何从模拟器提取SQL表?
别担心,Android Studio 3.1里虽然你没找到Device Explorer,但有几个靠谱的方法能帮你提取模拟器里的SQL表:
方法1:使用内置的Device File Explorer
其实Android Studio 3.1是自带这个工具的,只是入口可能没那么显眼:
- 打开Android Studio,点击顶部菜单栏的
View>Tool Windows>Device File Explorer - 在弹出的窗口里,展开
/data/data/[你的应用包名]/databases/路径(包名就是你在AndroidManifest.xml里定义的package值) - 找到你要提取的
.db数据库文件,右键选择Save As,把它导出到本地电脑 - 之后用任意SQLite可视化工具(比如SQLiteStudio、DB Browser for SQLite)打开这个文件,就能查看和提取表内容了
方法2:通过ADB命令行导出
如果内置工具不好用,命令行方法更直接可控:
- 确保你的模拟器已经启动,先运行
adb devices确认adb能识别到它 - 打开终端/命令提示符,依次执行以下命令:
# 进入应用的沙盒目录(要求应用是debug签名) adb shell run-as com.your.package.name # 切换到数据库存储目录 cd databases # 把数据库文件复制到SD卡(大多数模拟器的SD卡路径是/sdcard) cat your_database.db > /sdcard/exported_db.db # 退出当前shell会话 exit # 把SD卡里的文件拉取到本地电脑 adb pull /sdcard/exported_db.db /你的本地存储路径/ - 同样用SQLite可视化工具打开本地的
exported_db.db文件,就能操作里面的表了
方法3:模拟器直接复制(需开启root权限)
如果你的模拟器已经开启了root权限,还可以更直观操作:
- 打开模拟器自带的文件管理器(没有的话可以安装一个第三方文件管理APP)
- 导航到
/data/data/[你的应用包名]/databases/路径 - 长按目标
.db文件,选择复制,然后粘贴到模拟器的SD卡目录 - 之后可以通过adb pull或者模拟器的文件共享功能,把文件传到本地电脑查看
内容的提问来源于stack exchange,提问作者KayD
相关产品推荐
相关产品推荐

