Android API24模拟器中,如何通过Android Device Monitor查找SQLite数据库?
解决Android Device Monitor无法找到API24模拟器中SQLite数据库的问题
这个问题其实是API24及以上版本的权限限制导致的——从Android 7.0(API24)开始,应用的私有数据目录(/data/data/你的包名/)的访问权限被进一步收紧,直接在Android Device Monitor的File Explorer里点击带+号的Data文件夹,会因为权限不足无法展开内容。不过我们可以通过以下几种方式在Device Monitor里找到并访问你的SQLite数据库:
方法一:通过Device Monitor的Terminal执行adb命令访问
这是最直接的方式,步骤如下:
- 打开Android Device Monitor,在左侧Devices面板选中你的模拟器设备和对应的应用进程。
- 打开Terminal面板(如果找不到,可通过顶部菜单
Window > Show View > Terminal调出)。 - 依次输入以下命令:
- 首先进入模拟器的shell环境:
adb shell - 切换到你的应用私有数据目录(替换
com.your.app.package为你的实际应用包名):run-as com.your.app.package - 查看当前目录下的文件,你会看到
databases文件夹:ls - 进入databases目录查看你的数据库文件:
cd databases ls
- 首先进入模拟器的shell环境:
- 如果想把数据库导出到本地电脑查看,可以在Terminal里(退出run-as环境后)执行pull命令:
adb pull /data/data/com.your.app.package/databases/your_db_name.db 本地保存路径
方法二:确保应用是Debug版本并开启调试权限
要使用run-as命令,你的应用必须是Debug版本(默认Android Studio创建的项目Debug构建会自动开启),同时要确保AndroidManifest.xml里的android:debuggable属性为true:
<application ... android:debuggable="true"> ... </application>
Release版本的应用无法通过run-as命令访问私有数据目录,所以一定要用Debug构建的应用测试。
补充:替代工具(如果Device Monitor不好用)
其实Android Studio已经弃用了Android Device Monitor,现在更推荐用Device File Explorer(在Android Studio右侧边栏可找到),它能直接访问API24+模拟器的应用私有数据目录——只要你的应用是Debug版本,就能展开data/data/你的包名/databases找到数据库文件,操作更直观。
内容的提问来源于stack exchange,提问作者user2671169
相关产品推荐
相关产品推荐

