HarmonyOS鸿蒙Next中模拟器的沙箱目录在哪啊

HarmonyOS鸿蒙Next中模拟器的沙箱目录在哪啊 模拟器的沙箱目录在哪啊 应用跑起来自动生成在哪个位置呢

3 回复

模拟器中鸿蒙(HarmonyOS)应用的沙箱目录位置如图所示,其中el2是默认加密目录,应用数据若无特殊需求,都会存放在这个文件目录下,其他el1、el4等都是需要特定的场景才会使用。

cke_205.png

更多关于HarmonyOS鸿蒙Next中模拟器的沙箱目录在哪啊的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS Next模拟器的沙箱目录位于 /data/storage/el2/base 路径下。该目录是应用在模拟器中的私有数据存储区域,遵循应用沙箱安全机制。

在HarmonyOS Next中,模拟器的应用沙箱目录路径与真机环境保持一致,其核心路径结构如下:

应用沙箱根目录/data/storage/el2/base

在此根目录下,主要包含以下几个关键子目录:

  • files:用于存储应用的私有文件。
  • cache:用于存储应用的临时缓存文件。
  • preferences:用于存储通过Preferences接口保存的轻量级数据。
  • haps:用于存储应用安装包(HAP)的相关信息。
  • databases:用于存储通过关系型数据库(RDB)接口创建的数据文件。

获取路径的方法

在应用代码中,不建议直接硬编码上述路径。应使用Context提供的标准API来动态获取,这是推荐且可靠的做法:

  1. 获取files目录路径

    let context = getContext(this) as common.UIAbilityContext;
    let filesDir = context.filesDir;
    
  2. 获取cache目录路径

    let cacheDir = context.cacheDir;
    
  3. 获取preferences目录路径(通常直接使用Preferences API操作,无需关心物理路径):

    let preferences = await dataPreferences.getPreferences(context, 'myStore');
    

在模拟器上查看文件

当应用在HarmonyOS Next模拟器中运行时,其生成的文件就位于上述沙箱目录中。你可以通过以下方式查看:

  • 使用DevEco Studio的Device File Explorer: 这是最直接的方法。在DevEco Studio中,依次点击 View > Tool Windows > Device File Explorer。在展开的设备文件树中,导航至 /data/app/el2/100/base/<your_bundle_name>/data/storage/el2/base 路径,即可看到应用沙箱内的文件。

    • <your_bundle_name> 需要替换为你的应用包名。
  • 通过hdc shell命令

    1. 在终端中,使用 hdc shell 命令进入模拟器的Shell。
    2. 切换到应用沙箱目录。由于/data目录需要root权限,通常需以shell用户身份运行:
      hdc shell
      run-as <your_bundle_name>
      cd /data/storage/el2/base
      ls -l
      
    3. 即可列出filescache等目录的内容。

总结: 应用运行时自动生成的文件(如通过filesDir写入的文件、RDB数据库、缓存等)都存储在 /data/storage/el2/base 下的对应子目录中。请始终通过Context API获取路径,并使用DevEco Studio的图形化工具或hdc命令进行查看。

回到顶部