HarmonyOS(鸿蒙)——config.json详解

本文详细介绍了HarmonyOS应用程序中的config.json配置文件,包括其结构、编辑视图及app、deviceConfig、module三个主要部分。config.json是每个HAP根目录下的关键文件,用于设置应用的全局配置、设备特定配置和模块信息。通过DevEco Studio,开发者可以选择代码或可视化方式编辑此文件。此外,文章还提供了基础config.json配置文件的样例和官网参考资料链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、简介

1.1 结构

1.2 编辑视图

二、配置文件详细介绍

2.1 app

2.2 deviceConfig

2.3 module

三、精选好文


一、简介

1.1 结构

应用的每个HAP的根目录下都存在一个“config.json”配置文件。文件内容主要涵盖以下三个方面:

config.json.png


如下是一个简单的HarmonyOS应用程序创建后所看到的应用代码结构,entry -> src -> main -> config.json文件。其中三个模块分别为app、deviceConfig、module(我这里展示的三块是缩放后的内容。)
image.png

1.2 编辑视图

config.json文件采用JSON文件格式,其每一项都包含都由一个属性和值组成。其中属性值不分先后顺序,但是不能重复出现,必须唯一。值为JSON的基本数据类型。HarmonyOS的DevEco Studio支持两种编辑config.json的方式,分别是代码编辑视图和可视化编辑视图。
代码编辑视图:

image.png

可视化编辑视图:

image.png

二、配置文件详细介绍

配置文件由app、deviceConfig、module三部分组成,三者均必须存在。以下会根据上面的HarmonyOS的基础HelloWorld程序分析一个最基础的config.json配置文件,如果需要十分详细的介绍,请直接去HarmonyOS的官网进行查阅,以下是直达的官网地址:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/basic-config-file-elements-0000000000034463

2.1 app

app对象包含应用的全局配置信息,HarmonyOS的基础HelloWorld程序的config.json配置文件中的app部分如下所示:

1 "app": {
2    "bundleName": "com.example.demo",
3    "vendor": "example",
4    "version": {
5      "code": 1000000,
6      "name": "1.0.0"
7    }
8  }
属性名称 子属性名称 含义 数据类型 是否可缺省
bundleName - 表示应用的包名,用于标识应用的唯一性。 字符串
vendor - 表示对应用开发厂商的描述。字符串长度不超过255字节。 字符串 可缺省,缺省值为空。
version - 表示应用的版本信息。 对象
code 表示应用
### 文件作用及配置详情 #### tokenizer_config.json `tokenizer_config.json` 是用于定义分词器具体配置的文件。它包含了构建分词器所需的参数,例如最大长度、截断策略以及其他特定于模型的选项。此文件通常与 `special_tokens_map.json` 配合使用,以便更精确地控制分词行为[^2]。 #### vocab.txt `vocab.txt` 是词汇表文件,每一行代表一个 token,其对应的行号即为该 token 的唯一 ID(从 0 开始计数)。它是分词过程中最核心的部分之一,决定了输入文本如何被拆分为离散单元并映射到数值表示形式。当加载分词器时,优先读取此文件以初始化词汇表。 #### special_tokens_map.json `splcial_tokens_map.json` 主要负责将特殊的标记(如 `<pad>`、`<unk>` 和 `<cls>`)映射至词汇表中的实际标记。这使得模型能够识别和处理一些具有特殊语义的角色,比如填充符 (`<pad>`) 或未知单词 (`<unk>`)。在加载分词器的过程中,如果有这个文件,则会依据其中的内容完成特殊标记的映射操作[^1]。 #### config.json `config.json` 提供了关于整个模型的基础架构描述以及超参数设定的信息。对于不同的预训练模型来说,这份文件记录着诸如隐藏层大小、注意力头数量之类的结构化数据,还有学习率等优化过程中的重要参数。这是理解模型内部工作原理的关键文档,并且也是微调阶段调整模型性能的重要依据[^3]。 ```python from transformers import AutoTokenizer, AutoModelForSequenceClassification # 初始化分词器和模型 tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased") model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased") # 查看 tokenizer_config.json 中的内容 print(tokenizer.init_kwargs) # 查看 special_tokens_map.json 中的内容 print(tokenizer.special_tokens_map) # 查看 config.json 中的内容 print(model.config.to_dict()) ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李子捌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值