当前位置: 首页 > news >正文

【最新鸿蒙应开发】——HarmonyOS沙箱目录

鸿蒙应用沙箱目录

1. 应用沙箱概念

应用沙箱是一种以安全防护为目的的隔离机制,避免数据受到恶意路径穿越访问。在这种沙箱的保护机制下,应用可见的目录范围即为应用沙箱目录

  • 对于每个应用,系统会在内部存储空间映射出一个专属的应用沙箱目录,它是(“应用文件目录与应用文件路径)”与一部分系统文件(应用运行必需的少量系统文件)所在的目录组成的集合。

  • 应用沙箱限制了应用可见的数据的最小范围。在应用沙箱目录中,应用仅能看到自己的应用文件以及少量的系统文件(应用运行必需的少量系统文件)。因此,本应用的文件也不为其他应用可见,从而保护了应用文件的安全。

  • 应用可以在应用文件目录下保存和处理自己的应用文件;系统文件及其目录对于应用是只读的;而应用若需访问用户文件,则需要通过特定API同时经过用户的相应授权才能进行。

下图展示了应用沙箱下,应用可访问的文件范围和方式。应用沙箱文件访问关系图:

2. 应用沙箱目录与应用沙箱路径

在应用沙箱保护机制下,应用无法获知除自身应用文件目录之外的其他应用或用户的数据目录位置及存在。同时,所有应用的目录可见范围均经过权限隔离与文件路径挂载隔离,形成了独立的路径视图,屏蔽了实际物理路径:

  • 如下图所示,在普通应用(也称三方应用)视角下,不仅可见的目录与文件数量限制到了最小范围,并且可见的目录与文件路径也与系统进程等其他进程看到的不同。我们将普通应用视角下看到的应用沙箱目录下某个文件或某个具体目录的路径,称为应用沙箱路径

    • 从实际物理路径推物理路径沙箱路径并不是1:1的映射关系沙箱路径总是少于系统进程视角可见的物理路径。有些调试进程视角下的物理路径在对应的应用沙箱目录是无法找到的,而沙箱路径总是能够找到其对应的物理路径(不同权限与角色的进程下可见的文件路径不同)

3. 应用文件目录与应用文件路径

如前文所述,“应用沙箱目录”内分为两类:应用文件目录系统文件目录

系统文件目录对应用的可见范围由OpenHarmony系统预置,开发者无需关注。

在此主要介绍应用文件目录,如下图所示。应用文件目录下某个文件或某个具体目录的路径称为应用文件路径。应用文件目录下的各个文件路径,具备不同的属性和特征。应用文件目录结构图:

  1. 一级目录data/:代表应用文件目录

  2. 二级目录storage/:代表本应用持久化文件目录

  3. 三级目录el1/、el2/:代表不同文件加密类型

    • el1,设备级加密区:设备开机后即可访问的数据区。

    • el2,用户级加密区:设备开机后,需要至少一次解锁对应用户的锁屏界面(密码、指纹、人脸等方式或无密码状态)后,才能够访问的加密数据区。 应用如无特殊需要,应将数据存放在el2加密目录下,以尽可能保证数据安全。但是对于某些场景,一些应用文件需要在用户解锁前就可被访问,例如时钟、闹铃、壁纸等,此时应用需要将这些文件存放到设备级加密区(el1)。

    • el3:对于应用中的记录步数、文件下载、音乐播放,需要在锁屏时读写和创建新文件,放在(EL3)的加密分区比较合适。
    • el4:对于用户安全信息相关的文件,锁屏时不需要读写文件、也不能创建文件,放在(EL4)的加密分区更合适。
  4. 四级、五级目录: 通过ApplicationContext可以获取distributedfiles目录或base下的filescachepreferencestemp等目录的应用文件路径,应用全局信息可以存放在这些目录下。

    通过UIAbilityContext、AbilityStageContext、ExtensionContext可以获取HAP级别应用文件路径。HAP信息可以存放在这些目录下,存放在此目录的文件会跟随HAP的卸载而删除,不会影响App级别目录下的文件。

应用文件路径详细说明

目录名Context属性名称类型说明
bundlebundleCodeDir安装文件路径应用安装后的App的HAP资源包所在目录;随应用卸载而清理。 不能拼接路径访问资源文件,请使用资源管理接口访问资源。 可以用于存储应用的代码资源数据,主要包括应用安装的HAP资源包、可重复使用的库文件以及插件资源等。此路径下存储的代码资源数据可以被用于动态加载。
baseNA本设备文件路径应用在本设备上存放持久化数据的目录,子目录包含files/、cache/、temp/和haps/;随应用卸载而清理。
databasedatabaseDir数据库路径应用在el2加密条件下存放通过分布式数据库服务操作的文件目录;随应用卸载而清理。 仅用于保存应用的私有数据库数据,主要包括数据库文件等。此路径下仅适用于存储分布式数据库相关文件数据。
distributedfilesdistributedFilesDir分布式文件路径应用在el2加密条件下存放分布式文件的目录,应用将文件放入该目录可分布式跨设备直接访问;随应用卸载而清理。 可以用于保存应用分布式场景下的数据,主要包括应用多设备共享文件、应用多设备备份文件、应用多设备群组协助文件。此路径下存储这些数据,使得应用更加适合多设备使用场景。
filesfilesDir应用通用文件路径应用在本设备内部存储上通用的存放默认长期保存的文件路径;随应用卸载而清理。 可以用于保存应用的任何私有数据,主要包括用户持久性文件、图片、媒体文件以及日志文件等。此路径下存储这些数据,使得数据保持私有、安全且持久有效。
cachecacheDir应用缓存文件路径应用在本设备内部存储上用于缓存下载的文件或可重新生成的缓存文件的路径,应用cache目录大小超过配额或者系统空间达到一定条件,自动触发清理该目录下文件;用户通过系统空间管理类应用也可能触发清理该目录。应用需判断文件是否仍存在,决策是否需重新缓存该文件。 可以用于保存应用的缓存数据,主要包括离线数据、图片缓存、数据库备份以及临时文件等。此路径下存储的数据可能会被系统自动清理,因此不要存储重要数据
preferencespreferencesDir应用首选项文件路径应用在本设备内部存储上通过数据库API存储配置类或首选项的目录;随应用卸载而清理。详见通过用户首选项实现数据持久化。 可以用于保存应用的首选项数据,主要包括应用首选项文件以及配置文件等。此路径下仅适用于存储小量数据。
temptempDir应用临时文件路径应用在本设备内部存储上仅在应用运行期间产生和需要的文件,应用退出后即清理。 可以用于保存应用的临时生成的数据,主要包括数据库缓存、图片缓存、临时日志文件、以及下载的应用安装包文件等。此路径下存储使用后即可删除的数据。

相关文章:

【最新鸿蒙应开发】——HarmonyOS沙箱目录

鸿蒙应用沙箱目录 1. 应用沙箱概念 应用沙箱是一种以安全防护为目的的隔离机制,避免数据受到恶意路径穿越访问。在这种沙箱的保护机制下,应用可见的目录范围即为应用沙箱目录。 对于每个应用,系统会在内部存储空间映射出一个专属的应用沙箱…...

SringBoot 如何使用HTTPS请求及Nginx配置Https

SringBoot 如何使用HTTPS请求及Nginx配置Https SringBoot 如何使用HTTPS请求生成证书导入证书及配制创建配置类将pfx转成.key和.pem Nginx 安装SSL依赖./configure 安装依赖编译安装完openssl后报了新错 Nginx配置 SringBoot 如何使用HTTPS请求 生成证书 由于业务数据在传输过…...

14.基于人类反馈的强化学习(RLHF)技术详解

基于人类反馈的强化学习(RLHF)技术详解 RLHF 技术拆解 RLHF 是一项涉及多个模型和不同训练阶段的复杂概念,我们按三个步骤分解: 预训练一个语言模型 (LM) ;训练一个奖励模型 (Reward Model,RM) &#xf…...

Linux Radix tree简介

文章目录 前言一、Radix tree简介二、Operations2.1 Lookup2.2 Insertion2.3 Deletion 三、Linux内核API3.1 初始化3.2 radix_tree_insert/delete3.3 radix_tree_preload3.4 radix_tree_lookup3.5 radix_tree_tag_set3.6 radix_tree_tagged 四、address_space4.1 简介4.2 相应数…...

maven 下载jar包加载顺序

在 Maven 构建过程中,依赖的下载源取决于你的 pom.xml 文件中的 配置、settings.xml 文件中的 和 配置,以及你的 Nexus 仓库的设置。以下是决定 Maven 从哪个仓库下载依赖的关键点: 仓库配置优先级 项目 pom.xml 文件中的仓库配置&#xff…...

新增多种图表类型,新增视频、流媒体、跑马灯组件,DataEase开源数据可视化分析工具v2.7.0发布

2024年6月11日,人人可用的开源数据可视化分析工具DataEase正式发布v2.7.0版本。 这一版本的功能变动包括:图表方面,新增对称条形图、桑基图、流向地图、进度条等图表类型,并对已有的仪表盘、指标卡、明细表、汇总表、水波图、象限…...

supOS工业操作系统的由来

作为“世界制造工厂”,我国拥有最庞大、最完整的工业企业集群与产业链,其中既有众多全球性制造巨头,又有数以百万计的中小型工厂。但这些企业的制造工厂在推进数字化、网络化、智能化进程时普遍受阻:1)系统软件定制程度…...

6spark期末复习

1)var a:Double5;var b:Int7;那么print(a*b) 2) var a:Int5; var bif(a>6) 7 println(b) 3)var a:Int16; var b:Int13; var cif(a>b) 5 else 7; println(c) 4. object TestDemo { print("B") def main(args: Array[String]): Unit { } } 5 def mai…...

C语言背景⾊、线条颜⾊和填充颜⾊有什么区别?何时使⽤?

一、问题 背景⾊、线条颜⾊和填充颜⾊,这⼏种颜⾊有什么区别?什么时候使⽤? 二、解答 背景⾊:是整个屏幕的底⾊,设置之后,屏幕空⽩区域都变成该颜⾊。 线条颜⾊:是画线时所⽤的颜⾊。⽂字输出也…...

Python 植物大战僵尸游戏【含Python源码 MX_012期】

简介: "植物大战僵尸"(Plants vs. Zombies)是一款由PopCap Games开发的流行塔防游戏,最初于2009年发布。游戏的概念是在僵尸入侵的情境下,玩家通过种植不同种类的植物来保护他们的房屋免受僵尸的侵袭。在游…...

搜索文档的好助手

搜索文档的好助手 AnyTXT SearcherEverything AnyTXT Searcher 文本内容搜索 下载:AnyTXT Searcher Everything 它能够基于文件名快速定文件和文件夹位置 下载:Everything...

如何计算 GPT 的 Tokens 数量?

基本介绍 随着人工智能大模型技术的迅速发展,一种创新的计费模式正在逐渐普及,即以“令牌”(Token)作为衡量使用成本的单位。那么,究竟什么是Token呢? Token 是一种将自然语言文本转化为计算机可以理解的…...

在远程服务器上安装虚拟环境

一、Anaconda环境安装 先下载Anaconda Linux版,并将其重命名为anaconda2020.sh wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.07-Linux-x86_64.sh --header"User-Agent: Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.11 (K…...

《站在2024年的十字路口:计算机专业是否仍是高考生的明智之选?》

文章目录 每日一句正能量前言行业竞争现状行业饱和度和竞争激烈程度[^3^]新兴技术的影响[^3^]人才需求的变化[^3^]行业创新动态如何保持竞争力 专业与个人的匹配度判断专业所需的技术能力专业核心课程对学生的要求个人兴趣和性格特点专业对口的职业发展要求实践和经验个人价值观…...

从零手写实现 nginx-23-nginx 对于 cookie 的操作

前言 大家好,我是老马。很高兴遇到你。 我们为 java 开发者实现了 java 版本的 nginx https://github.com/houbb/nginx4j 如果你想知道 servlet 如何处理的,可以参考我的另一个项目: 手写从零实现简易版 tomcat minicat 手写 nginx 系列 …...

Python语言例题集(015)

#!/usr/bin/python3 #使用列表模仿队列的操作。 class Queue(): def init(self): self.queue[] def enqueue(self,data):self.queue.insert(0,data)def dequeue(self):if len(self.queue):return self.queue.pop()return "队列是空的"qQueue() q.enqueue(‘Grape’…...

Halcon C++ XLD 数据写入图片

1. xld转换为Region 生成与调用函数 gen_cross_contour_xld (CrossXld, Rows, UpdateCols, 6, 0) get_xld_region (CrossXld, xldRegions)函数实现 get_xld_region * 计算XLD个数 count_obj (BaseXld, Number) * 生成空的区域(结果) gen_empty_region…...

一文入门vim

先来波快问快答。 第一个问题,vim是什么? vim就是一文本编辑器。 第二个问题,我们为什么要使用vim? 好像在终端中可选择使用的文本编辑器也不多(其他有,但是相对而言vim用的比较广泛) 第三…...

植物ATAC-seq文献集锦(三)——果实发育篇

ATAC-seq在植物研究领域的应用我们已经介绍2期了,本期我们聚焦ATAC-seq技术在果实发育方向的应用案例。 植物ATAC-seq文献集锦(一)——基因组篇 植物ATAC-seq文献集锦(二)——生长发育篇 文献一:Ident…...

在自己的电脑上搭建我的世界Java版服务器

很多朋友,喜欢玩Minecraft,也希望搭建一个服务器,用于和小伙伴联机; 并且,拥有服务器后,即使所有玩家都下线,“世界”依旧在运行,玩家可以随时参与其中,说不定一上线&am…...

开源HR智能体:基于LLM与Agent架构的自动化HR流程实践

1. 项目概述:一个开源的HR智能体最近在关注AI如何真正落地到具体业务场景,而不是停留在概念演示。一个让我眼前一亮的项目是ArjunFrancis/openhr-agent。简单来说,这是一个开源的、基于大语言模型(LLM)的HR&#xff08…...

Arm Neoverse CMN-650时钟与电源管理架构解析

1. Arm Neoverse CMN-650时钟与电源管理架构解析在现代SoC设计中,时钟与电源管理子系统如同城市的水电供应网络,其设计优劣直接决定了系统性能与能耗效率的平衡。Arm Neoverse CMN-650作为新一代互连架构,通过创新的时钟域划分和电源域管理机…...

167.YOLOv8口罩检测常见问题避坑(loss为NaN/显存溢出/ONNX导出失败实战版)

摘要 目标检测是计算机视觉领域的核心任务之一。YOLO(You Only Look Once)系列模型凭借其端到端、单阶段、高实时性的特性,已成为工业界和学术界最广泛使用的目标检测框架。本文从零开始,系统讲解YOLOv8的核心原理,并给出从数据准备、模型训练、推理验证到ONNX部署的完整…...

2026年国内数字人平台推荐:有哪些创作者与企业的高效创作利器?

一、引文/摘要在数字人领域,制作成本高、技术门槛高、生产效率低已成为内容创作的核心痛点。 2026年,AI数字人市场持续扩张,创作者与企业对低成本、易上手、全链路的数字人解决方案需求激增。但市场平台繁杂,功能与技术差异显著&a…...

终极指南:如何让微信网页版在浏览器中重新可用

终极指南:如何让微信网页版在浏览器中重新可用 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 还在为微信网页版无法正常访问而烦恼吗&…...

注意力机制新思路:拆解CoordAttention,看它如何用两个1D全局池搞定“位置+通道”信息

注意力机制新思路:拆解CoordAttention,看它如何用两个1D全局池搞定“位置通道”信息 在计算机视觉领域,注意力机制已经成为提升模型性能的关键组件。传统的通道注意力机制(如SE模块)虽然能有效建模通道间关系&#xff…...

DeepSeek MMLU 86.7分是怎么炼成的?从提示工程、校准策略到知识蒸馏链路(内部训练日志首次公开)

更多请点击: https://intelliparadigm.com 第一章:DeepSeek MMLU 86.7分的里程碑意义与基准解读 MMLU 基准的本质与挑战 MMLU(Massive Multitask Language Understanding)是一项覆盖57个学科领域的综合性评测基准,涵…...

现代Web全栈开发实战:基于React、Node.js与Prisma的足球赛事应用架构解析

1. 项目概述与核心价值最近在整理个人技术栈时,翻到了一个之前参与过的很有意思的Web项目——一个基于“NLW”(Next Level Week)活动构建的足球赛事Web应用。这个项目虽然源于一个线上编程活动,但其架构设计和实现思路&#xff0c…...

上海国际航运研究中心:全球绿色航运发展报告(2024-2025)

本报告由上海国际航运研究中心与世界海事大学联合编制,聚焦 2024 年 1 月至 2025 年 9 月全球绿色航运发展,围绕政策、机制、清洁能源、减排技术、发展趋势五大核心展开,全面呈现航运业低碳转型的全球格局、关键进展与挑战。一、核心政策&…...

Vivado工程实战:在ZCU102上配置MIG控制器时,SLEW属性设置成SLOW还是FAST?

Vivado工程实战:ZCU102平台MIG控制器SLEW属性深度解析 在Xilinx ZCU102开发板上进行DDR4接口设计时,MIG控制器的配置往往成为项目成败的关键。许多工程师能够顺利完成基础配置,却在面对诸如SLEW属性这类"细微"参数时陷入选择困境。…...