跳到主要内容

如何查看游戏沙箱文件

问题描述

想查看游戏沙箱的隔离文件,例如数据库文件、缓存文件等。

解决方案

在沙箱路径下读写文件,经过映射转换,实际读写的是hdc进程视角下看到真实物理路径中的文件。沙箱路径与真实物理路径的对应关系如下表所示:

应用沙箱路径

调试进程(hdc)视角下的实际路径

说明

/data/storage/el1/bundle

/data/app/el1/bundle/public/<PACKAGENAME>

应用安装包目录。

/data/storage/el1/base

/data/app/el1/<USERID>/base/<PACKAGENAME>

应用el1级别加密数据目录。

/data/storage/el2/base

/data/app/el2/<USERID>/base/<PACKAGENAME>

应用el2级别加密数据目录。

/data/storage/el1/database

/data/app/el1/<USERID>/database/<PACKAGENAME>

应用el1级别加密数据库目录。

/data/storage/el2/database

/data/app/el2/<USERID>/database/<PACKAGENAME>

应用el2级别加密数据库目录。

/data/storage/el2/distributedfiles

/mnt/hmdfs/<USERID>/account/merge_view/data/<PACKAGENAME>

应用el2加密级别有帐号分布式数据融合目录。

在调试过程中,若权限不对或文件不存在,您需从调试进程视角切换为应用视角,以便直观分析权限及文件目录问题。切换沙箱视角的命令如下:

hdc shell                        // 进入shell
ps -ef|grep [hapName] // 通过ps命令找到对应应用的pid
nsenter -t [hapPid]-m /bin/sh // 通过上一步找到的应用pid进入对应应用的沙箱环境中