Created with Pixso.
简体中文
简体中文
English
Русский
下载 App
Created with Pixso.
探索
设计
开发
分发
推广与变现
生态合作
支持
更多
探索
设计
开发
更多
分发
推广与变现
生态合作
支持
输入关键字搜索
开发者能力认证
鸿蒙高校创新赛
HarmonyOS 7
animation
HarmonyOS行业解决方案
layoutWeight
HarmonyOS模板&组件
bindPopup
bindsheet
RelativeContainer
CustomDialogController
animateTo
CTRL+K
文档
管理中心
我的
Hello,
欢迎来到开发者联盟
管理中心
个人中心
我的学堂
我的收藏
我的活动
我的工单
立即登录
HarmonyOS
输入关键字搜索
开发者能力认证
鸿蒙高校创新赛
HarmonyOS 7
animation
HarmonyOS行业解决方案
layoutWeight
HarmonyOS模板&组件
bindPopup
bindsheet
RelativeContainer
CustomDialogController
animateTo
CTRL+K
指南
版本说明
指南
API参考
最佳实践
FAQ
变更预告
更多
入门
基础入门
应用开发导读
快速入门
开发准备
构建第一个HarmonyOS应用(ArkTS)
开发基础知识
应用程序包基础知识
应用程序包概述
应用程序包结构
应用程序包开发与使用
HAP
HAR
HSP
应用程序包安装卸载与更新
应用安装卸载与更新开发指导
应用安装与更新一致性校验
应用配置文件
应用配置文件概述
app.json5配置文件
module.json5配置文件
典型场景的开发指导
创建应用静态快捷方式
创建应用分身
创建应用多实例
配置应用图标和名称
HAR转HSP指导
HSP转HAR指导
HAP转HAR指导
集成态HSP
应用程序包常见问题
应用程序包术语
资源分类与访问
学习ArkTS语言
初识ArkTS语言
ArkTS语言介绍
ArkTS编程规范
从TypeScript到ArkTS的适配指导
ArkTS语法适配背景
从TypeScript到ArkTS的适配规则
适配指导案例
ArkTS高性能编程实践
面向其他语言的ArkTS迁移指导
从Java到ArkTS的迁移指导
从Swift到ArkTS的迁移指导
HarmonyOS术语
开发
应用开发准备
应用开发准备
应用框架
Ability Kit(程序框架服务)
Ability Kit简介
应用模型
应用模型概述
应用组件
应用/组件级配置
UIAbility组件
UIAbility组件概述
UIAbility组件生命周期
UIAbility组件启动模式
UIAbility组件基本用法
UIAbility组件与UI的数据同步
启动应用内的UIAbility组件
通过Call调用实现多端协同
UIAbility备份恢复
ExtensionAbility组件
EmbeddedUIExtensionAbility
使用AppServiceExtensionAbility组件实现后台服务
AbilityStage组件管理器
应用上下文Context
信息传递载体Want
Want概述
显式Want与隐式Want匹配规则
使用显式Want启动应用组件
常见action与entities(不推荐使用)
组件启动规则
获取/设置环境变量
进程模型
线程模型
应用配置文件
应用生命周期
应用生命周期概述
应用启动
应用启动设置
应用启动框架AppStartup
应用预加载
应用快启启动
应用退出
应用重启
获取应用异常退出原因
应用间跳转
应用间跳转概述
拉起指定应用
拉起指定应用概述
(可选)使用canOpenLink判断应用是否可访问
获取目标应用的URL信息
使用Deep Linking实现应用间跳转
使用App Linking实现应用间跳转
显式Want跳转切换应用链接跳转适配指导
应用链接说明
拉起指定类型的应用
拉起指定类型的应用概述
拉起导航类应用(startAbilityByType)
拉起邮件类应用(startAbilityByType)
拉起邮件类应用(mailto方式)
拉起金融类应用(startAbilityByType)
拉起航班类应用(startAbilityByType)
拉起快递类应用(startAbilityByType)
拉起图片编辑类应用(startAbilityByType)
拉起文件处理类应用(startAbility)
拉起系统应用
应用间跳转典型场景
应用间跳转实践概览
社交分享跳转
广告跳转
特殊文本识别跳转
Web和应用的跳转与拉起
方舟智能开发框架开发指导
方舟智能开发框架概述
意图框架开发指导
意图框架概述
开发意图
意图开发概述
使用配置文件开发意图
使用装饰器开发意图
附录:标准意图接入规范
调试意图
基于ArkTS脚本的应用Skill开发指导
端侧A2A框架开发指导
端侧A2A框架概述
开发端侧智能体
使用AgentExtensionAbility组件实现智能体服务
AgentExtensionAbility配置文件说明
Native子进程开发指导
创建/终止Native子进程(C/C++)
获取Native子进程退出信息
Ability Kit术语
Accessibility Kit(无障碍服务)
Accessibility Kit 简介
提升应用的无障碍体验
提升屏幕朗读无障碍体验
标注屏幕朗读内容的场景
禁用屏幕朗读焦点的场景
多维嵌套场景
组合场景
按钮标注场景
插画/视频/动画的播报场景
内容动态变化场景
控件状态变化场景
操作错误场景
多语种场景
控件位置调整场景
重新设置新焦点位置的场景
列表项组合场景
自定义控件播报状态的场景
自定义无障碍滚动步数的场景
主动通知页面变化的场景
弹窗类控件走焦的场景
卡片自动居中的场景
测试应用的无障碍功能
测试屏幕朗读功能
应用长辈关怀功能体验
应用声明接入系统关怀模式
应用内关怀模式与系统设置同步
获取关怀模式状态
ArkData(方舟数据管理)
ArkData简介
标准化数据定义
标准化数据定义概述
标准化数据类型 (ArkTS)
标准化数据类型 (C/C++)
标准化数据结构 (ArkTS)
标准化数据结构 (C/C++)
基于标准化数据结构的控件 (ArkTS)
UTD预置列表
应用数据持久化
应用数据持久化概述
通过用户首选项实现数据持久化 (ArkTS)
通过用户首选项实现数据持久化 (C/C++)
通过键值型数据库实现数据持久化 (ArkTS)
通过关系型数据库实现数据持久化 (ArkTS)
通过关系型数据库实现数据持久化 (C/C++)
通过向量数据库实现数据持久化 (ArkTS)
通过向量数据库实现数据持久化 (C/C++)
同应用跨设备数据同步(分布式)
同应用跨设备数据同步概述
键值型数据库跨设备数据同步 (ArkTS)
关系型数据库跨设备数据同步 (ArkTS)
分布式数据对象跨设备数据同步 (ArkTS)
同应用端云数据同步(分布式)
同应用端云数据同步概述
端云数据同步云侧环境部署指导
端云数据同步关系型数据库端侧开发指导 (ArkTS)
数据可靠性与安全性
数据可靠性与安全性概述
数据库备份与恢复 (ArkTS)
数据库备份与恢复 (C/C++)
数据库加密 (ArkTS)
数据库加密 (C/C++)
基于设备分类和数据分级的访问控制 (ArkTS)
基于设备分类和数据分级的访问控制 (C/C++)
E类加密数据库的使用 (ArkTS)
跨应用数据共享
跨应用数据共享概述
一对多跨应用数据共享
应用间配置共享 (ArkTS)
多对多跨应用数据共享
通过标准化数据通路实现数据共享 (ArkTS)
通过标准化数据通路实现数据共享 (C/C++)
应用数据向量化 (ArkTS)
arkdata数据库调试工具
preferences数据库调试工具指导
vector-store数据库调试工具指导
SQLite调试工具指导
ArkData术语
ArkData常见问题
ArkTS(方舟编程语言)
ArkTS简介
ArkTS基础类库
ArkTS基础类库概述
XML生成、解析与转换
XML概述
XML生成
XML解析
XML转换
Buffer与FastBuffer
JSON扩展库
ArkTS容器类库
容器类库概述
线性容器
非线性容器
基础库常见问题
ArkTS并发
并发概述
异步并发 (Promise和async/await)
多线程并发
多线程并发概述
TaskPool使用规范
TaskPool简介
Worker简介
TaskPool和Worker的对比 (TaskPool和Worker)
并发线程间通信
ArkTS线程间通信概述
线程间通信对象
线程间通信对象概述
普通对象
容器类对象
ArrayBuffer对象
SharedArrayBuffer对象
Transferable对象 (NativeBinding对象)
Sendable对象
Sendable对象简介
Sendable使用规则与约束
异步锁
异步等待
ASON解析与生成
共享容器
共享模块
Sendable对象冻结
Sendable使用场景
线程间通信场景
使用TaskPool执行独立的耗时任务
使用TaskPool执行多个耗时任务
TaskPool任务与宿主线程通信
Worker和宿主线程的即时消息通信
Worker同步调用宿主线程的接口
多级Worker间高性能消息通信
应用多线程开发实践
应用多线程开发概述
耗时任务并发场景
耗时任务并发场景简介
CPU密集型任务开发指导 (TaskPool和Worker)
I/O密集型任务开发指导 (TaskPool)
同步任务开发指导 (TaskPool和Worker)
长时任务并发场景
长时任务并发场景简介
长时任务开发指导 (TaskPool)
常驻任务并发场景
常驻任务并发场景简介
常驻任务开发指导 (Worker)
应用多线程开发实践案例
批量数据写数据库场景
业务模块并发加载场景
全局配置项功能场景
ArkUI数据更新场景
C++线程间数据共享场景
TaskPool指定任务并发度场景
ArkUI瀑布流渲染场景
获取最近访问列表场景
多线程取消TaskPool任务场景
自定义Native Transferable对象的多线程操作场景
自定义Native Sendable对象的多线程操作场景
Worker常驻线程通过TaskPool进行多任务并发处理
Sendable对象改造实践
并发常见问题
ArkTS跨语言交互
ArkTS运行时
ArkTS运行时概述
GC垃圾回收
ArkTS模块化
模块化运行简介
动态加载
延迟加载 (lazy import)
同步方式动态加载Native模块
静态方式加载Native模块
基于Node-API加载模块
模块加载副作用及优化
模块化调试工具
ArkTS运行时常见问题
ArkTS编译工具链
ArkTS编译工具链概述
方舟字节码
方舟字节码概述
方舟字节码文件格式
方舟字节码基本原理
方舟字节码函数命名规则
编译期自定义修改方舟字节码
方舟字节码生成常见问题
Disassembler反汇编工具
ArkGuard源码混淆工具
ArkGuard源码混淆工具概述
ArkGuard混淆原理
ArkGuard混淆配置选项
ArkGuard混淆保留选项
ArkGuard混淆开启指南
不同包类型的源码混淆建议
ArkGuard混淆常见问题
ArkGuard字节码混淆工具
ArkGuard字节码混淆工具概述
ArkGuard字节码混淆原理及功能
ArkGuard字节码混淆开启指南
不同包类型的字节码混淆建议
ArkGuard字节码混淆常见问题
在build-profile.json5中配置arkOptions
ArkTS术语
ArkUI(方舟UI框架)
ArkUI简介
UI开发 (ArkTS声明式开发范式)
UI开发(ArkTS声明式开发范式)概述
学习UI范式基本语法
基本语法概述
UI装饰器总览
声明式UI描述
自定义组件
创建自定义组件
自定义组件生命周期
自定义组件生命周期(推荐)
自定义组件的自定义布局
自定义组件成员属性访问限定符使用限制
自定义组件复用
@Reusable装饰器:V1组件复用
@ReusableV2装饰器:V2组件复用
全局复用:集中化的组件回收与复用
自定义组件复用开发实践
组件复用问题诊断分析
自定义组件冻结
自定义组件冻结功能(V1)
自定义组件冻结功能(V2)
组件封装
组件扩展
组件扩展概述
@Builder装饰器:自定义构建函数
@LocalBuilder装饰器: 维持组件关系
@BuilderParam装饰器:引用@Builder函数
wrapBuilder:封装全局@Builder
mutableBuilder:实现全局@Builder动态更新
@Styles装饰器:定义组件重用样式
@Extend装饰器:定义扩展组件样式
stateStyles:多态样式
@AnimatableExtend装饰器:定义可动画属性
@Require装饰器:校验构造传参
学习UI范式状态管理
状态管理概述
状态管理原理介绍
状态管理V1和V2更新机制差异
MVVM模式(V1)
MVVM模式(V2)
状态管理(V1)
管理组件拥有的状态
@State装饰器:组件内状态
@Prop装饰器:父子单向同步
@Link装饰器:父子双向同步
@Provide装饰器和@Consume装饰器:与后代组件双向同步
@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化
@Watch装饰器:状态变量更改通知
管理数据对象的状态
@Track装饰器:class对象属性级更新
管理应用拥有的状态
管理应用拥有的状态概述
LocalStorage:页面级UI状态存储
AppStorage:应用全局的UI状态存储
PersistentStorage:持久化存储UI状态
Environment:设备环境查询
状态管理(V2)
管理组件拥有的状态
@Local装饰器:组件内部状态
@Param:组件外部输入
@Once:初始化同步一次
@Event装饰器:规范组件输出
@Provider装饰器和@Consumer装饰器:跨组件层级双向同步
管理数据对象的状态
@ObservedV2装饰器和@Trace装饰器:类属性变化观测
@Monitor装饰器:状态变量修改异步监听
@SyncMonitor装饰器:状态变量修改同步监听
@Computed装饰器:计算属性
@Type装饰器:标记类属性的类型
管理应用拥有的状态
AppStorageV2: 应用全局UI状态存储
PersistenceV2: 持久化存储UI状态
辅助接口
getTarget接口:获取状态管理框架代理前的原始对象
makeObserved接口:将非观察数据变为可观察数据
canBeObserved接口:判断对象是否可被观察
addMonitor/clearMonitor接口:动态添加/取消监听
applySync/flushUpdates/flushUIUpdates接口:同步刷新
语法糖
$$语法:系统组件双向同步
!!语法:双向绑定
状态管理V1-V2迁移指导
V1-V2迁移概述
状态管理V1向V2迁移场景
组件内状态变量迁移
数据对象状态变量迁移
应用内状态变量迁移
组件复用迁移
循环渲染迁移
内置对象的迁移
卡片状态变量迁移
AnimateTo使用迁移
状态管理V1和V2混用场景
状态管理V1和V2混用指导(API version 19前)
状态管理V1和V2混用指导(API version 19及之后)
状态管理常见问题
组件内状态管理常见问题
数据对象状态管理常见问题
应用内状态管理和其他常见问题
状态变量改变不触发组件刷新问题常用定位方法
状态管理术语
学习UI范式渲染控制
渲染控制概述
if/else:条件渲染
ForEach:循环渲染
LazyForEach:数据懒加载
Repeat:可复用的循环渲染
ContentSlot:混合开发
学习响应式环境变量
@Env:环境变量
设置组件导航和页面路由
组件导航和页面路由概述
组件导航(Navigation) (推荐)
Navigation基础架构介绍
Navigation子页面
Navigation页面路由
Navigation转场动画
Navigation跨包路由
Navigation分栏开发
页面路由 (@ohos.router)(不推荐)
Router切换Navigation
组件布局
布局概述
构建布局
线性布局 (Row/Column)
层叠布局 (Stack)
弹性布局 (Flex)
相对布局 (RelativeContainer)
栅格布局 (GridRow/GridCol)
动态布局 (DynamicLayout)
容器断点 (ContainerReader)
选项卡 (Tabs)
开发应用沉浸式效果
布局优化指导
列表与网格
列表与网格概述
创建列表 (List)
弧形列表 (ArcList)(圆形屏幕推荐使用)
创建网格 (Grid/GridItem)
创建瀑布流(WaterFlow)
创建懒加载布局 (LazyVGridLayout/LazyVWaterFlowLayout)
常见列表流
使用文本
文本概述
文本显示 (Text/Span)
文本输入 (TextInput/TextArea/Search)
富文本编辑(RichEditor)
图标小符号 (SymbolGlyph/SymbolSpan)
属性字符串(StyledString/MutableStyledString)
图文混排
管理软键盘
富文本显示的选型与开发
文本展开折叠
媒体展示
显示图片 (Image)
视频播放 (Video)
创建轮播 (Swiper)
创建弧形轮播 (ArcSwiper)(圆形屏幕推荐使用)
按钮与选择
按钮与选择组件概述
按钮 (Button)
弧形按钮 (ArcButton)(圆形屏幕推荐使用)
单选框 (Radio)
切换按钮 (Toggle)
添加组件
自定义渲染 (XComponent)
进度条 (Progress)
使用弹窗
弹窗概述
弹出框 (Dialog)
弹出框概述
不依赖UI组件的全局自定义弹出框 (openCustomDialog)
基础自定义弹出框 (CustomDialog)
固定样式弹出框
页面级弹出框
弹出框层级管理
弹出框控制器
弹出框焦点策略
弹出框蒙层控制
菜单
菜单概述
菜单控制(Menu)
不依赖UI组件的全局菜单 (openMenu)
气泡提示
气泡提示概述
气泡提示(Popup)
不依赖UI组件的全局气泡提示 (openPopup)
绑定模态页面
绑定模态页面概述
绑定半模态页面(bindSheet)
绑定全模态页面(bindContentCover)
即时反馈(Toast)
设置浮层(OverlayManager)
自定义弹窗选型与开发
沉浸光感
几何图形绘制
几何图形绘制概述
绘制几何图形 (Shape)
形状裁剪(clipShape)
添加交互响应
交互响应概述
交互基础机制说明
输入设备与事件
支持触屏输入事件
支持鼠标输入事件
支持触控板输入事件
支持键盘输入事件
支持游戏手柄输入事件
支持表冠输入事件
添加手势响应
绑定手势方法
单一手势
组合手势
多层级手势事件
手势冲突处理
支持统一拖拽
支持焦点处理
使用动画
动画概述
属性动画
属性动画概述
实现属性动画
自定义属性动画
转场动画
转场动画概述
出现/消失转场
模态转场
共享元素转场 (一镜到底)
旋转屏动画
页面转场动画 (不推荐)
粒子动画
组件动画
动画曲线
动画曲线概述
传统曲线
弹簧曲线
动画衔接
动画效果
模糊
阴影
色彩
帧动画(ohos.animator)
使用自定义能力
自定义能力概述
自定义组合
自定义节点
自定义节点概述
自定义占位节点
自定义组件节点 (FrameNode)
自定义渲染节点 (RenderNode)
自定义声明式节点 (BuilderNode)
设置自定义节点跨语言属性
组件动态创建
自定义绘制
使用画布绘制自定义图形 (Canvas)
自定义绘制修改器 (DrawModifier)
Modifier机制
自定义扩展能力概述
内容修改器 (ContentModifier)
属性修改器 (AttributeModifier)
属性更新器 (AttributeUpdater)
UI国际化
无障碍与适老化
无障碍开发指导
支持适老化
主题设置
应用深浅色适配
设置应用内主题换肤
UI系统场景化能力
使用UI上下文接口操作界面(UIContext)
使用组件截图(ComponentSnapshot)
感知组件可见性
检查页面布局
媒体查询 (@ohos.mediaquery)
嵌入式组件
全屏启动元服务组件(FullScreenLaunchComponent)
同应用进程嵌入式组件 (EmbeddedComponent)
UI开发 (基于NDK构建UI)
基于NDK构建UI概述
NDK对接ArkTS
嵌入ArkTS组件
接入ArkTS页面
构建布局
使用布局组件
设置通用布局属性
使用导航类组件
使用列表与网格
使用列表
使用瀑布流
使用网格
使用文本
使用Text组件
使用属性字符串
添加输入框文本事件监听
媒体展示
显示图片(Image)
使用滑块视图容器 (Swiper)
构建表单组件
构建弹窗
使用动画
动画概述
使用动画开发指导
使用滑动选择器 (Picker)
添加事件响应
添加事件监听
绑定基础输入事件
绑定手势事件
绑定拖拽事件
使用自定义能力
构建自定义组件
自定义绘制
通过自绘制接入无障碍
通过EmbeddedComponent拉起EmbeddedUIExtensionAbility
查询和操作自定义节点
在NDK中保证多实例场景功能正常
使用多线程NDK接口并行化构建UI页面
构建渲染节点
UI开发 (兼容JS的类Web开发范式)
UI开发 (兼容JS的类Web开发范式)概述
框架说明
文件组织
js标签配置
app.js
语法
HML语法参考
CSS语法参考
JS语法参考
生命周期
资源限定与访问
多语言支持
构建用户界面
组件介绍
构建布局
布局说明
添加标题行和文本区域
添加图片区域
添加留言区域
添加容器
添加交互
动画
手势事件
页面路由
常见组件开发指导
容器组件
list开发指导
dialog开发指导
form开发指导
stepper开发指导
tabs开发指导
swiper开发指导
基础组件
text开发指导
input开发指导
button开发指导
picker开发指导
image开发指导
image-animator开发指导
rating开发指导
slider开发指导
chart开发指导
switch开发指导
toolbar开发指导
menu开发指导
marquee开发指导
qrcode开发指导
search开发指导
Canvas开发指导
Canvas对象
CanvasRenderingContext2D对象
Path2D对象
OffscreenCanvasRenderingContext2D对象
栅格布局
svg开发指导
基础知识
绘制图形
绘制路径
绘制文本
动效开发指导
CSS动画
属性样式动画
transform样式动画
background-position样式动画
svg动画
JS动画
组件动画
插值器动画
动画动效
动画帧
自定义组件
WebGL
使用WebGL绘制图形
UI开发调试调优
UI稳定性故障调试
UI稳定性故障分析概述
UI相关应用崩溃常见问题
UI相关应用无响应常见问题
UI显示异常调试
UI上下文异常调试
UI预览
UI调优
UI高性能开发
UI开发常见问题
Navigation动画常见问题
自定义节点常见问题
按钮与选择组件常见问题
弹窗组件常见问题
使用文本常见问题
动态属性设置常见问题
命令式节点常见问题
UI并行化常见问题
手势事件冲突常见问题
沉浸光感常见问题
窗口管理
窗口开发概述
窗口类型
窗口类型开发概述
子窗口开发指导
模态窗口开发指导
全局悬浮窗开发指导
闪控窗开发指导
闪控球开发指导
画中画开发指导
画中画开发概述
使用XComponent实现画中画功能开发(ArkTS)
使用typeNode实现画中画功能开发(ArkTS)
使用NDK接口实现画中画功能开发(C/C++)
画中画常见问题
窗口模式
窗口模式简介
智慧多窗应用开发指导
智慧多窗简介
应用适配智慧多窗
应用声明支持智慧多窗
应用布局适配智慧多窗
顶部窗口控制条避让适配智慧多窗
自由窗口
自由窗口简介
应用适配自由窗口
窗口基础能力
窗口生命周期
窗口旋转与实践案例
窗口旋转
窗口旋转实践案例
窗口布局
窗口焦点
窗口层级
窗口沉浸式
其他开发场景
截图与隐私模式 (ArkTS)
控制亮度与常亮 (ArkTS)
设置窗口动效 (ArkTS)
控制窗口外观 (ArkTS)
使用WindowManager管理多模输入事件(C/C++)
应用启动页的配置与使用
应用启动页简介
配置应用启动页
启动页资源分类配置
窗口元数据配置
窗口开发术语
窗口开发常见问题
窗口开发常见日志问题与定位
屏幕管理
屏幕管理简介
使用OH_DisplayManager实现屏幕基础信息查询和状态监听 (C/C++)
使用Display实现屏幕属性查询及状态监听 (ArkTS)
屏幕管理开发术语
屏幕开发常见问题
ArkUI术语
ArkWeb(方舟Web)
ArkWeb简介
ArkWeb进程
Web组件的生命周期
设置基本属性和事件
User-Agent开发指导
管理Cookie及数据存储
Web深色模式适配
在新窗口中打开页面
管理位置权限
使用隐私模式
使用运动和方向传感器监测设备状态
Web渲染和布局
Web组件渲染模式
Web组件大小自适应页面内容布局
优化跳转至新Web组件过程中的页面闪烁现象
获取网页内容高度
在应用中使用前端页面JavaScript
应用侧调用前端页面函数
前端页面调用应用侧函数
建立应用侧与前端页面数据通道
应用侧与前端页面的相互调用(C/C++)
建立应用侧与前端页面数据通道(C/C++)
管理网页交互
Web组件嵌套滚动
Web页面显示内容滚动
Web组件对接软键盘
Web组件焦点管理
使用Web组件的手势与应用交互
使用Web组件管理网页缩放
使用Web组件显示网页弹框
使用Web组件的拖拽功能与网页交互
Web应用模拟点击检测
管理Web组件的网络安全与隐私
解决Web组件本地资源跨域问题
使用智能防跟踪功能
使用Web组件的广告过滤功能
坚盾守护模式
管理网页加载与浏览记录
使用Web组件加载页面
管理页面跳转及浏览记录导航
拦截Web组件发起的网络请求
自定义页面请求响应
加速Web页面的访问
设置Web组件前进后退缓存
Web组件在不同的窗口间迁移
管理网页文件上传与下载
使用Web组件上传文件
使用Web组件的下载能力
使用网页多媒体
在Web中打开摄像头和麦克风
托管网页中的媒体播放
Web组件支持画中画
Web组件支持视频沉浸式全屏播放
处理网页内容
使用Web组件打印前端页面
使用Web组件保存前端页面为PDF
使用Web组件的PDF文档预览能力
网页中安全区域计算和避让适配
使用Web组件菜单处理网页内容
使用Web组件与系统剪贴板交互处理网页内容
使用Web组件的智能分词能力
同层渲染
同层渲染
同层渲染原生组件
使用离线Web组件
使用WebNativeMessagingExtensionAbility组件实现浏览器扩展和应用通信场景
Web调试维测
使用DevTools工具调试前端页面
使用Crashpad收集Web组件崩溃信息
定位与解决Web白屏问题
使用Hypium实现ArkWeb自动化测试
ArkWeb术语
Background Tasks Kit(后台任务开发服务)
Background Tasks Kit简介
短时任务(ArkTS)
短时任务(C/C++)
长时任务(ArkTS)
延迟任务(ArkTS)
代理提醒(ArkTS)
Background Tasks Kit接入规范
Content Embed Kit(内容嵌入服务)
Content Embed Kit简介
客户端和服务端交互流程
服务端应用开发
客户端应用开发
Content Embed Kit常见问题
Content Embed Kit术语
Core File Kit(文件基础服务)
Core File Kit简介
应用文件
应用文件概述
应用沙箱目录
应用文件访问与管理
应用文件访问(ArkTS)
应用文件访问(C/C++)
应用及文件系统空间统计
应用文件分享
应用共享目录配置
应用数据备份恢复
应用数据备份恢复概述
应用接入数据备份恢复
应用数据备份恢复验证指导
应用克隆适配指导
设备升级应用数据迁移适配指导
应用数据迁移功能介绍
适配流程
应用数据迁移适配指导
验证应用数据迁移
开发者自验证
端到端验证
常见问题与异常处理
应用升级过程代码开发注意事项
用户文件
用户文件概述
用户文件URI介绍
FileUri开发指导(C/C++)
获取用户目录环境(C/C++)
选择与保存用户文件
选择用户文件
保存用户文件
授权持久化
授权持久化(C/C++)
获取并使用公共目录
分布式文件系统
分布式文件系统概述
设置分布式文件数据等级
跨设备文件共享和访问
跨设备文件拷贝
端云文件协同
端云文件协同概述
端云文件协同适配指导
文件基础服务开发实践
Native侧实现文件访问
Data Augmentation Kit(数据增强服务)
Data Augmentation Kit简介
知识加工
RAG
RAG概述
知识问答
RAG配置
配置提示词模板
配置超参
配置分析过程模板
完整示例代码
智慧化数据检索-ArkTS
智慧化数据检索-C++
端侧问答模型
Data Augmentation Kit术语
RAG术语
端侧问答模型术语
Form Kit(卡片开发服务)
Form Kit简介
ArkTS卡片开发(推荐)
ArkTS卡片概述
创建ArkTS卡片
配置ArkTS卡片的配置文件
管理ArkTS卡片生命周期
ArkTS卡片进程模型
ArkTS卡片提供方开发指导
ArkTS卡片UI界面开发
ArkTS卡片界面开发概述
ArkTS卡片为组件添加动效
ArkTS卡片使用画布组件绘制自定义图形
ArkTS卡片使用自定义字体
ArkTS卡片页面刷新
ArkTS卡片页面刷新概述
ArkTS卡片主动刷新
ArkTS卡片被动刷新
ArkTS卡片Push刷新
刷新本地图片和网络图片
根据卡片状态刷新不同内容
ArkTS卡片页面交互
ArkTS卡片页面交互概述
卡片跳转到应用页面(router事件)
卡片拉起应用UIAbility到后台(call事件)
卡片传递消息给应用(message事件)
通过router或call事件刷新卡片内容
ArkTS卡片编辑
ArkTS卡片编辑概述
应用内请求卡片加桌
应用内拉起卡片管理加桌
ArkTS锁屏卡片
锁屏卡片开发指导
ArkTS背板透明卡片
背板透明卡片开发指导
ArkTS待机屏保卡片开发指导
互动卡片开发
互动卡片概述
趣味交互类型互动卡片开发指导
场景动效类型互动卡片
场景动效类型互动卡片概述
场景动效类型互动卡片开发指导
ArkTS卡片适配常见问题
JS卡片开发
JS卡片概述
JS卡片开发指导(Stage模型)
JS卡片开发指导(FA模型)
Form Kit术语
IME Kit(输入法开发服务)
IME Kit简介
实现一个输入法应用
在自绘编辑框中使用输入法
切换输入法应用
输入法子类型开发指南
输入法安全模式介绍
在自绘编辑框中使用输入法开发指导 (C/C++)
输入法应用沉浸模式
Ime工具
不可获焦窗口中输入框与输入法交互指南
输入法开发服务术语
IPC Kit(进程间通信服务)
IPC Kit简介
IPC与RPC通信开发指导(ArkTS)
IPC与RPC通信开发指导(C/C++)
远端状态订阅开发实例
IPC与RPC通信术语
Localization Kit(本地化开发服务)
国际化和本地化概述
应用国际化
国际化界面设计
区域ID与文化习惯划分
语言与用户偏好
系统语言与区域
应用偏好语言
用户偏好
时间日期国际化
数字与度量衡国际化
电话号码格式化
设置日历和历法
时区与夏令时国际化
时区
夏令时跳变
多语言排序
概述
本地习惯排序
创建索引
字符处理
本地化名称
概述
本地化语言与地区名称
应用本地化
多语言适配
提升可翻译性
避免硬编码与拼接
提供翻译场景
支持单复数
本地化测试
伪本地化测试
伪本地化测试概述
翻译伪本地化测试
界面镜像伪本地化测试
语言测试
Localization Kit术语
UI Design Kit(UI设计套件)
UI Design Kit简介
图标处理
(推荐)分层图标处理
单层图标处理
组件导航
设置动态模糊样式
设置信息提醒
设置自定义区域
标题栏动态显隐
半模态样式
图标类型设置
设置应用内多窗
开发实例
侧边栏样式
设置overlay模式的侧边栏
设置embed模式的侧边栏
侧边栏菜单样式
底部页签
设置页签栏的分割线
设置页签栏的模糊样式
设置页签的图标出血样式
设置侧边栏半屏居中对齐样式
设置页签栏的悬浮样式
即时操作
设置常驻通知弹窗
设置定时通知弹窗
核心操作栏
设置有主按钮的组件
设置无主按钮的组件
列表
设置附带横滑的列表样式
设置列表卡片样式
应用加载自定义Symbol
视效
点光源效果
按压阴影
双边边缘流光
背景流光
自带背景的双边流光
应用内多窗
沉浸光感
UI Design Kit常见问题
怎么获取layeredDrawableDescriptor对象信息?
401 参数检查失败的可能原因和解决办法
系统
安全
程序访问控制
访问控制概述
应用权限管控
应用权限管控概述
申请应用权限
选择申请权限的方式
声明权限
向用户申请授权
再次向用户申请授权
向用户申请单次授权
手动设置授权
申请受限权限
应用权限列表
开放权限(系统授权)
开放权限(用户授权)
受限开放权限
企业类应用可用权限
仅MDM应用可用权限
应用权限组列表
程序访问控制常见问题
移除已申请的权限
抓包/调试权限常见问题
使用安全控件
安全控件概述
使用粘贴控件
使用保存控件
使用系统Picker
密码自动填充服务
密码自动填充服务概述
应用接入密码保险箱
快速适配
自动保存
账号密码保存
账号密码更新
自动填充
账号密码填充
强密码填充
为应用添加自动生成高强度密码的建议
自定义布局下的适配建议
系统可适配的场景
网页接入密码保险箱
应用与网页共用账号密码
应用加密
Asset Store Kit(关键资产存储服务)
Asset Store Kit简介
常见场景
保护密码类数据
保护需要用户认证的密码类数据
Asset Store Kit开发指导(ArkTS)
新增关键资产(ArkTS)
删除关键资产(ArkTS)
更新关键资产(ArkTS)
查询关键资产(ArkTS)
查询需要用户认证的关键资产(ArkTS)
批量新增关键资产(ArkTS)
批量删除关键资产(ArkTS)
批量更新关键资产(ArkTS)
管理群组关键资产(ArkTS)
同步(备份恢复)关键资产(ArkTS)
Asset Store Kit开发指导(C/C++)
新增关键资产(C/C++)
删除关键资产(C/C++)
更新关键资产(C/C++)
查询关键资产(C/C++)
管理群组关键资产(C/C++)
同步(备份恢复)关键资产(C/C++)
Asset Store Kit术语
Crypto Architecture Kit(加解密算法框架服务)
Crypto Architecture Kit简介
密钥生成和转换
密钥生成与转换介绍
密钥生成和转换规格
对称密钥生成和转换规格
非对称密钥生成和转换规格
密钥生成和转换开发指导
随机生成对称密钥(ArkTS)
随机生成对称密钥(C/C++)
指定二进制数据转换对称密钥(ArkTS)
指定二进制数据转换对称密钥(C/C++)
随机生成非对称密钥对(ArkTS)
随机生成非对称密钥对(C/C++)
指定二进制数据转换非对称密钥对(ArkTS)
指定二进制数据转换非对称密钥对(C/C++)
指定密钥参数生成非对称密钥对(ArkTS)
指定密钥参数生成非对称密钥对(C/C++)
使用ECC压缩/非压缩公钥格式转换(ArkTS)
使用ECC压缩/非压缩公钥格式转换(C/C++)
使用ECC压缩/非压缩点格式转换(ArkTS)
使用ECC压缩/非压缩点格式转换(C/C++)
指定PEM格式字符串数据转换非对称密钥对(ArkTS)
指定PEM格式字符串数据转换非对称密钥对(C/C++)
使用RSA私钥进行编码解码(ArkTS)
使用RSA私钥进行编码解码(C/C++)
使用私钥对象获取公钥对象(ArkTS)
使用私钥对象获取公钥对象(C/C++)
加解密
加解密介绍
加解密算法规格
对称密钥加解密算法规格
非对称密钥加解密算法规格
分段加解密说明
加解密开发指导
使用AES对称密钥(GCM模式)加解密(ArkTS)
使用AES对称密钥(GCM模式)加解密(C/C++)
使用AES对称密钥(CCM模式)加解密(ArkTS)
使用AES对称密钥(CCM模式)加解密(C/C++)
使用AES对称密钥(CCM模式)参数为AeadParamsSpec加解密(ArkTS)
使用AES对称密钥(CBC模式)加解密(ArkTS)
使用AES对称密钥(CBC模式)加解密(C/C++)
使用AES对称密钥(ECB模式)加解密(ArkTS)
使用AES对称密钥(ECB模式)加解密(C/C++)
使用AES对称密钥(GCM模式)分段加解密(ArkTS)
使用AES对称密钥(XTS模式)加解密(ArkTS)
使用AES对称密钥(GCM模式)分段加解密(C/C++)
使用DES对称密钥(ECB模式)加解密(ArkTS)
使用DES对称密钥(ECB模式)加解密(C/C++)
使用3DES对称密钥加解密(ArkTS)
使用3DES对称密钥加解密(C/C++)
使用SM4对称密钥(ECB模式)加解密(ArkTS)
使用SM4对称密钥(ECB模式)加解密(C/C++)
使用SM4对称密钥(CBC模式)加解密(ArkTS)
使用SM4对称密钥(CBC模式)加解密(C/C++)
使用SM4对称密钥(GCM模式)加解密(ArkTS)
使用SM4对称密钥(GCM模式)加解密(C/C++)
使用SM4对称密钥(GCM模式)分段加解密(ArkTS)
使用SM4对称密钥(GCM模式)分段加解密(C/C++)
使用ChaCha20对称密钥加解密(ArkTS)
使用ChaCha20对称密钥加解密(C/C++)
使用ChaCha20对称密钥(Poly1305模式)加解密(ArkTS)
使用ChaCha20对称密钥(Poly1305模式)加解密(C/C++)
使用RSA非对称密钥(PKCS1模式)加解密(ArkTS)
使用RSA非对称密钥(PKCS1模式)加解密(C/C++)
使用RSA非对称密钥分段加解密(ArkTS)
使用RSA非对称密钥分段加解密(C/C++)
使用RSA非对称密钥(PKCS1_OAEP模式)加解密(ArkTS)
使用SM2非对称密钥加解密(ArkTS)
使用SM2非对称密钥加解密(C/C++)
使用AES-WRAP算法对对称密钥加解密(ArkTS)
使用AES-WRAP算法对对称密钥加解密(C/C++)
使用SM2密文格式转换(ArkTS)
使用SM2密文格式转换(C/C++)
使用RC2对称密钥(CBC模式)加解密(ArkTS)
使用RC4对称密钥加解密(ArkTS)
使用ECIES混合加解密(ArkTS)
使用ECIES混合加解密(C/C++)
签名验签
签名验签介绍及算法规格
签名验签开发指导
使用RSA密钥对(PKCS1模式)签名验签(ArkTS)
使用RSA密钥对(PKCS1模式)签名验签(C/C++)
使用RSA密钥对(PKCS1模式)签名验签(OnlySign和OnlyVerify模式)(ArkTS)
使用RSA密钥对(PKCS1模式)签名及签名恢复(ArkTS)
使用RSA密钥对(PKCS1模式)签名恢复(C/C++)
使用RSA密钥对(PKCS1模式)分段签名验签(ArkTS)
使用RSA密钥对(PKCS1模式)分段签名验签(C/C++)
使用RSA密钥对(PSS模式)签名验签(ArkTS)
使用RSA密钥对(PSS模式)签名验签(C/C++)
使用RSA密钥对(PSS模式)签名验签(OnlySign和OnlyVerify模式)(ArkTS)
使用ECDSA密钥对签名验签(ArkTS)
使用ECDSA密钥对签名验签 (C/C++)
使用ECC密钥对签名验签(OnlySign和OnlyVerify模式)(ArkTS)
使用SM2密钥对签名验签(ArkTS)
使用SM2密钥对签名验签 (C/C++)
SM2签名数据格式转换(ArkTS)
SM2签名数据格式转换 (C/C++)
密钥协商
密钥协商介绍及算法规格
密钥协商开发指导
使用ECDH进行密钥协商(ArkTS)
使用ECDH进行密钥协商(C/C++)
使用X25519进行密钥协商(ArkTS)
使用X25519进行密钥协商(C/C++)
使用DH进行密钥协商(ArkTS)
使用DH进行密钥协商(C/C++)
消息摘要计算
消息摘要计算介绍及算法规格
消息摘要计算开发指导
消息摘要计算SHA256(ArkTS)
消息摘要计算SHA256(C/C++)
消息摘要计算MD5(ArkTS)
消息摘要计算MD5(C/C++)
消息摘要计算SHA3(ArkTS)
消息摘要计算SHA3-256(C/C++)
消息认证码
消息认证码计算介绍及算法规格
消息认证码计算HMAC(ArkTS)
消息认证码计算HMAC(C/C++)
消息认证码计算CMAC(ArkTS)
消息认证码计算CMAC(C/C++)
随机数
安全随机数生成(ArkTS)
安全随机数生成(C/C++)
使用硬件熵源生成安全随机数(ArkTS)
使用硬件熵源生成安全随机数(C/C++)
密钥派生
密钥派生介绍及算法规格
使用PBKDF2进行密钥派生(ArkTS)
使用PBKDF2进行密钥派生(C/C++)
使用HKDF进行密钥派生(ArkTS)
使用HKDF进行密钥派生(C/C++)
使用SCRYPT进行密钥派生(ArkTS)
使用SCRYPT进行密钥派生(C/C++)
使用X963KDF进行密钥派生(ArkTS)
使用X963KDF进行密钥派生(C/C++)
实现跨平台加解密数据兼容性
Crypto Architecture Kit常见问题
AES解密失败返回错误码17630001
Data Protection Kit(数据保护服务)
数据防泄漏服务
数据防泄漏服务简介
数据防泄漏服务开发指导(ArkTS)
数据防泄漏服务开发指导(C/C++)
适配加密分享
Data Protection Kit术语
Device Certificate Kit(设备证书服务)
Device Certificate Kit简介
证书算法库框架
证书算法库框架概述
证书对象的创建、解析和校验
证书扩展信息对象的创建、解析和校验
证书吊销列表对象的创建、解析和校验
证书链校验时从PKCS #12文件构造TrustAnchor对象数组
证书链校验器对象的创建和校验
证书集合及证书吊销列表集合对象的创建和获取
证书链对象的创建和校验
使用系统预置CA证书校验证书链
证书CMS签名
证书CMS封装
证书CMS验签
证书CMS解封装
证书PKCS #12的创建和解析
证书链在线校验证书吊销状态
证书链校验时下载缺失的中间CA证书
构建并校验证书链
证书管理服务
证书管理服务概述
CA证书开发指导
应用证书凭据开发指导
用户证书凭据开发指导
系统证书凭据开发指导
Device Certificate Kit术语
Device Security Kit(设备安全服务)
Device Security Kit简介
服务配额
开发准备
开通Device Security服务
基于服务账号生成鉴权令牌
应用设备状态检测
安全检测
系统完整性增强检测
系统完整性检测
URL检测
本地系统完整性检测
统一风控凭证
可信应用服务
安全摄像头场景
安全地理位置场景
安全图像压缩、裁剪场景
签名验证
验证匿名证书链
验证签名
数字盾服务
数字盾服务概述
数字盾密码管理
设置数字盾密码
修改数字盾密码
关闭数字盾服务
交易信息密码认证
生物特征绑定、认证与解绑
开通生物特征认证能力
生物特征认证交易
关闭指定生物类型认证能力
数字盾签名密钥备份与恢复
安全审计
单客户端订阅场景
多客户端订阅场景
订阅通知类事件
订阅阻断类事件
进程信息查询场景
代码签名信息查询场景
通知类客户端信息查询场景
多客户端订阅场景(C/C++)
订阅通知类事件
订阅阻断类事件
进程信息查询场景(C/C++)
代码签名信息查询场景(C/C++)
通知类客户端信息查询场景(C/C++)
业务风险检测
涉诈剧本检测
模拟点击检测
模拟点击增强检测
业务风险检测术语
星盾机密风控引擎
查询设备安全模式(C/C++)
反诈选择器
获取诈骗消息
获取诈骗通话记录
获取诈骗应用
防窥保护
病毒防护服务管理(C/C++)
超级隐私模式
查询超级隐私模式状态场景
查询超级隐私模式管控策略场景
订阅超级隐私模式状态改变事件场景
订阅超级隐私模式管控策略改变事件场景
个人数据处理说明
附录
支持的国家/地区
Enterprise Data Guard Kit(企业数据保护服务)
Enterprise Data Guard Kit简介
开发准备
文件分级管控
启动文件扫描任务
打开文件
设置文件属性标签
获取文件属性标签
获取文件URI
删除指定路径下的文件
更新安全管控策略
设置KIA文件列表
订阅或取消订阅KIA文件拷贝、重命名和压缩事件
设置KIA文件水印图片
添加、删除和获取放通应用列表
设置HDC认证密钥
订阅或取消订阅打印服务启动事件
企业恢复密钥
获取解密硬盘数据的企业恢复密钥
获取重置锁屏密码的企业恢复密钥
获取挑战值
挑战值签名
更新企业公钥证书
删除企业恢复密钥
Enterprise Data Guard Kit常见问题
Enterprise Data Guard Kit权限获取失败
Enterprise Threat Protection Kit(企业威胁防护服务)
Enterprise Threat Protection Kit简介
开发准备
病毒检测与处置
启动应用目录文件扫描任务
打开文件
文件隔离
文件隔离恢复
文件隔离删除
隔离查询
威胁进程终止
Enterprise Threat Protection Kit常见问题
Enterprise Threat Protection Kit术语
Online Authentication Kit(在线认证服务)
Online Authentication Kit简介
开发准备
FIDO免密身份认证
IFAA免密身份认证
SOTER免密身份认证
DID数字身份服务
通行密钥
概述
通行密钥身份认证(ArkTS)
通行密钥身份认证(C/C++)
个人数据处理说明
网站链接免责声明
Universal Keystore Kit(密钥管理服务)
Universal Keystore Kit简介
本地密钥管理
本地密钥管理基础概念
密钥生成/导入
密钥生成
密钥生成介绍及算法规格
生成密钥(ArkTS)
生成密钥(C/C++)
密钥导入
密钥导入介绍及算法规格
明文导入密钥(ArkTS)
明文导入密钥(C/C++)
安全导入密钥(ArkTS)
安全导入密钥(C/C++)
数字信封导入密钥(ArkTS)
数字信封密钥(C/C++)
密钥使用
密钥使用介绍及通用流程
加密/解密
加密/解密介绍及算法规格
加解密(ArkTS)
加解密(C/C++)
签名/验签
签名/验签介绍及算法规格
签名/验签(ArkTS)
签名/验签(C/C++)
密钥协商
密钥协商介绍及算法规格
密钥协商(ArkTS)
密钥协商(C/C++)
密钥派生
密钥派生介绍及算法规格
密钥派生(ArkTS)
密钥派生(C/C++)
访问控制
用户身份认证访问控制简介
用户身份认证访问控制开发指导
细粒度用户身份认证访问控制开发指导
HMAC
HMAC介绍及算法规格
HMAC(ArkTS)
HMAC(C/C++)
CMAC
CMAC(ArkTS)
CMAC(C/C++)
密钥删除
密钥删除(ArkTS)
密钥删除(C/C++)
密钥证明
密钥证明介绍及算法规格
匿名密钥证明(ArkTS)
匿名密钥证明(C/C++)
离线匿名密钥证明(ArkTS)
应用真实性证明
应用真实性证明简介
创建密钥确立可信凭证
应用端开发
服务器端开发
签名验签识别真实请求
应用端开发
服务器端开发
验证应用请求真实性集成设计实践
其他操作
查询密钥是否存在
查询密钥是否存在(ArkTS)
查询密钥是否存在(C/C++)
获取密钥属性
获取密钥属性(ArkTS)
获取密钥属性(C/C++)
密钥导出
密钥导出(ArkTS)
密钥导出(C/C++)
查询密钥别名集
查询密钥别名集(ArkTS)
查询密钥别名集(C/C++)
加密导出导入密钥
加密导出导入密钥介绍
加密导出导入密钥(ArkTS)
加密导出导入密钥(C/C++)
群组密钥
群组密钥介绍
群组密钥(ArkTS)
群组密钥(C/C++)
外部密钥管理扩展
外部密钥管理扩展简介
Provider管理
Provider管理介绍及规格
注册/注销Provider(ArkTS)
注册/注销Provider(C/C++)
资源管理
资源管理介绍及规格
获取资源ID(ArkTS)
打开资源/关闭资源(ArkTS)
打开资源/关闭资源(C/C++)
密钥管理
密钥生成与导入导出介绍
密钥生成(ArkTS)
密钥导入(ArkTS)
公钥导出(ArkTS)
UkeyPIN码认证管理
Ukey PIN码认证介绍及规格
查询认证状态(ArkTS)
查询认证状态(C/C++)
清除Ukey PIN码认证状态(ArkTS)
签名/验签
签名/验签介绍及算法规格
签名/验签(ArkTS)
签名/验签(C/C++)
通用操作
通用查询介绍及规格
通用查询(ArkTS)
通用查询(C/C++)
Ukey流程示例指导
驱动HAP ExtensionAbility适配指导
CryptoExtensionAbility扩展能力介绍
CryptoExtensionAbility适配开发指导
个人数据处理说明
User Authentication Kit(用户认证服务)
User Authentication Kit简介
用户身份认证开发指导
开发准备
查询支持的认证能力
发起认证
认证过程中取消认证
感知和调整认证过程
切换自定义认证
查询用户注册凭据的状态
使用嵌入式用户身份认证控件
查询指定认证类型的认证冻结状态
User Authentication Kit术语
网络
Accessory Kit(配件接入服务)
Accessory Kit简介
配件接入开发指导
Accessory Kit常见问题
API使用过程中流程执行异常,无法完成预期操作
Connectivity Kit(短距通信服务)
Connectivity Kit简介
蓝牙
蓝牙服务开发概述
蓝牙设置
传统蓝牙
查找设备
配对与连接设备
连接和传输数据
低功耗蓝牙
查找设备
连接和传输数据
蓝牙常见问题
蓝牙接口调用报错2900099
NFC
NFC服务开发概述
NFC标签读写开发指南
HCE卡模拟开发指南
安全单元访问开发指南
WLAN
WLAN服务开发概述
P2P模式开发指南
STA模式开发指南
Wi-Fi扫描开发指南
融合短距
融合短距服务开发概述
伙伴设备与HarmonyOS设备互通的开发指南
Connectivity Kit术语
Distributed Service Kit(分布式管理服务)
Distributed Service Kit简介
分布式设备管理开发指南
应用跨设备连接管理
跨设备连接UIAbility开发指南
增强连接开发指导
NearLink Kit(星闪服务)
NearLink Kit简介
开发准备
查询是否支持星闪
查询星闪开关状态
发送星闪广播
发起星闪扫描
SSAP连接及数据传输
SSAP服务端
SSAP客户端
使用星闪传输数据
获取星闪合作设备集合信息
NearLink Kit常见问题
NearLink Kit术语
Network Kit(网络服务)
Network Kit简介
Network Kit术语
访问网络
使用HTTP访问网络
使用WebSocket访问网络
使用WebSocket访问网络(C/C++)
使用Socket访问网络
使用MDNS访问局域网服务
使用DNS解析域名
使用HTTP全局拦截器 (C/C++)
连接网络
管理网络连接
管理网络连接(C/C++)
连接VPN
连接网络开发实践
应用网络重连
网络信息查询与连接管理
网络连接安全配置
管理网络
统计网络流量消耗
使用网络防火墙
扩展认证
Network Boost Kit(网络加速服务)
Network Boost Kit简介
开发准备
网络质量
网络质量评估
网络场景识别
应用传输体验反馈
弱网感知判决
连接迁移(多网切换)
连接迁移通知
迁移模式设置
连接迁移(多网并发)
概述
业务场景设置
多网状态监听
多网建议监听
多网配额查询
多网发起和释放
多网并发网络加速
网络质量 (C/C++)
网络质量评估 (C/C++)
网络场景识别 (C/C++)
应用传输体验反馈 (C/C++)
弱网感知判决 (C/C++)
连接迁移(多网切换) (C/C++)
连接迁移通知 (C/C++)
迁移模式设置 (C/C++)
连接迁移(多网并发)(C/C++)
业务场景设置(C/C++)
多网状态监听(C/C++)
多网建议监听(C/C++)
多网配额查询(C/C++)
多网发起和释放(C/C++)
Network Boost Kit常见问题
在进行多网并发传输时,如何判断当前使用的网络是Wi-Fi还是流量
如果使用多网并发能力超过剩余配额限制,会发生什么
Remote Communication Kit(远场通信服务)
Remote Communication Kit简介
开发准备
使用HTTP协议进行网络通信
发起HTTP请求,获取响应
发送网络请求(ArkTS)
取消网络请求(ArkTS)
关闭会话(ArkTS)
发送网络请求(C++)
取消网络请求(C++)
关闭会话(C++)
实现HTTP请求定制
Configuration:高效实现定制功能
DnsConfiguration:定制DNS
TransferConfiguration:定制数据传输
ProxyConfiguration:定制代理
SecurityConfiguration:定制安全传输行为
ProcessingConfiguration:定制处理行为
拦截器:更丰富、更高阶的定制能力
文件上传下载
快速实现上传下载
实现请求暂停、恢复与断点续传
实现流式请求
流式传输
提升HTTP传输性能
基于TracingConfiguration实现性能维测
通过配置Configuration优化传输性能
使用HTTP缓存功能提升资源获取性能
HTTP缓存基本功能
Session间缓存共享
自定义缓存拦截器
通过预建连接提升HTTP传输性能
使用QUIC协议进行网络通信
QUIC长连接接收消息推送
URPC场景
使用URPC进行远程程序调用
Remote Communication Kit术语
Service Collaboration Kit(协同服务)
Service Collaboration Kit简介
跨设备互通(ArkTS)
跨设备互通特性简介
跨设备互通开发指导
跨设备互通NDK(C)
跨设备互通NDK特性概述
跨设备互通NDK开发指导
跨设备互通(RichEditor控件)
Service Collaboration Kit常见问题
接入跨设备互通控件后,设备选择列表没有周围设备
Telephony Kit(蜂窝通信服务)
Telephony Kit简介
拨打电话
短信服务
网络调试调优
使用网络领航员进行网络模拟
基础功能
Basic Services Kit(基础服务)
Basic Services Kit简介
进程线程通信
使用公共事件进行进程间通信
公共事件简介
动态订阅公共事件
取消动态订阅公共事件
发布公共事件
订阅公共事件(C/C++)
取消订阅公共事件(C/C++)
发布公共事件(C/C++)
使用Emitter进行线程间通信
账号管理
应用账号
管理应用账号
USB服务
开发USB服务
USB服务开发概述
USB Host模式开发
USB设备管理
USB控制传输
USB中断传输
USB批量传输
USB实时传输
开发USB串口通信服务
USB串口通信服务开发概述
USB串口配置管理
USB串口通信管理
常见问题
USB服务开发术语
升级服务
示例服务器开发概述
示例服务器开发指导
升级服务术语
剪贴板服务
申请访问剪贴板权限
使用剪贴板进行复制粘贴
使用剪贴板进行复制粘贴 (C/C++)
使用剪贴板进行延迟复制粘贴
剪贴板术语表
上传下载
应用文件上传下载
压缩与解压
压缩与解压
划词服务
划词服务概述
实现一个划词扩展能力
划词服务术语
电源管理
运行锁使用指南
阻止系统闲时进入睡眠开发指南
打印
文件打印(C/C++)
打印扩展能力
Desktop Extension Kit(桌面拓展服务)
Desktop Extension Kit简介
应用接入状态栏
应用接入快捷栏
FAST Kit(算法加速服务)
FAST Kit简介
使用SegmentMap查询维护区间信息
使用RectPartition求解矩形划分
使用ConcurrentHashmap在多线程下完成键值信息的查找维护
使用DSP进行向量计算
使用DSP进行二阶IIR滤波
使用DSP进行FFT变换
使用Hashmap完成键值数据的维护
使用mathPrediction进行数理预测
FAST Kit术语
Function Flow Runtime Kit(任务并发调度服务)
Function Flow Runtime Kit概述
Function Flow Runtime并发范式
Function Flow Runtime开发样例(C)
Function Flow Runtime串行队列(C)
Function Flow Runtime并发队列(C)
Function Flow Runtime图依赖并发(C)
Function Flow Runtime开发样例(C++)
Function Flow Runtime串行队列(C++)
Function Flow Runtime并发队列(C++)
Function Flow Runtime图依赖并发(C++)
Function Flow Runtime任务伙伴(C++)
Function Flow Runtime开发指导
Function Flow Runtime C API
Function Flow Runtime术语
Input Kit(多模输入服务)
Input Kit简介
输入设备开发指导
优先响应系统功能键开发指导
鼠标光标开发指导
事件监听开发指导(C/C++)
事件拦截开发指导(C/C++)
MDM Kit(企业设备管理服务)
MDM Kit简介
MDM Kit开发指南
应用模型
多应用管控
EnterpriseAdminExtensionAbility开发指南
个人数据处理说明
MDM Kit术语
Kernel Enhance Kit(内核增强能力)
Kernel Enhance Kit 简介
QoS 开发指导
格物开发指导
内存管理Purgeable内存开发指导
硬件
Car Kit(车服务)
Car Kit简介
开发准备
实现车机导航流转
导航流转至车机
地址流转至车机
下车步行导航流转
获取HiCar连接状态
主动获取HiCar的连接状态
监听HiCar的连接状态
超级桌面应用接入分布式相机
Driver Development Kit(驱动开发服务)
Driver Development Kit简介
环境准备
扩展外设基础驱动开发
开发无UI界面基础驱动
开发带UI界面基础驱动
扩展外设专项驱动开发
开发适用USB协议的设备驱动
开发适用HID协议的设备驱动
开发适用串口协议的设备驱动
开发使用SCSI协议的设备驱动
常见问题
扩展外设驱动开发术语
Multimodal Awareness Kit(多模态融合感知服务)
Multimodal Awareness Kit简介
Stationary开发指导
获取用户动作开发指导
设备状态感知开发指导
记忆链接开发指导
Pen Kit(手写笔服务)
Pen Kit简介
手写功能开发
接入手写套件
接入报点预测
接入一笔成形
接入全局取色
接入手写交互
手写功能开发指导(C/C++)
接入全局取色
接入报点预测
Pen Kit常见问题
Pen Kit手写套件是否支持自定义笔刷?
Pen Kit手写套件是否支持自定义笔宽?
Pen Kit手写套件是否支持自定义颜色?
Pen Kit手写套件的工具栏是否可以单独提供?
集成了Pen Kit手写套件,还需要集成报点预测吗?
集成了Pen Kit手写套件,还需要集成一笔成形吗?
Pen Kit报点预测功能能够调整预测的程度吗?
为什么一笔成形识别不出来?
Sensor Service Kit(传感器服务)
Sensor Service Kit开发简介
传感器
传感器开发概述
传感器开发指导(ArkTS)
传感器开发指导(C/C++)
振动
振动开发概述
振动开发指导(ArkTS)
振动开发指导(C/C++)
Mechanic Kit(机械设备管理服务)
Mechanic Kit简介
目标拍摄跟踪开发指南
Wear Engine Kit(穿戴服务)
Wear Engine Kit简介
业务简介
场景介绍
手机侧应用开发
接入准备
申请接入Wear Engine服务
配置Client ID
应用开发
已连接穿戴设备查询
请求用户授权
穿戴设备信息查询
目标设备选择
应用间消息通信
状态查询与订阅
穿戴设备模板化通知
穿戴设备传感器获取
管理应用与Wear Engine服务的连接状态
穿戴侧应用开发
已连接对端设备查询
应用间消息通信
调测验证
Wear Engine常见问题
如果工程已有APP ID,是否需要重新申请,填写新的APP ID
使用AppInfo时,如何获取应用身份标识
没有弹出用户授权界面
接口调用时返回App has not applied for the Wear Engine service错误信息
打开HR传感器后,没有立刻上报数据
HR传感器数据中,存在数值为0或255的异常情况
手机和轻量级智能穿戴设备通信,提示错误码206
手机侧应用发送文件给穿戴设备侧应用时,提示错误码1008500011
更多:若以上FAQ仍不能解决,可通过在线提单反馈
个人数据处理说明
调测调优
Performance Analysis Kit(性能分析服务)
Performance Analysis Kit简介
故障检测
简介
崩溃检测
JS Crash(进程崩溃)检测
Cpp Crash(进程崩溃)检测
AddrSanitizer(地址越界)检测
AppFreeze(应用冻屏)检测
Resource Leak(资源泄漏)检测
任务超时检测
App Killed(应用终止)检测
通用日志
页面切换日志
功耗检测
性能检测
日志打印
使用HiLog打印日志(ArkTS)
使用HiLog打印日志(C/C++)
事件订阅
HiAppEvent介绍
使用HiAppEvent订阅事件
事件订阅简介
事件订阅(ArkTS)
事件订阅(C/C++)
系统事件
崩溃事件
崩溃事件介绍
订阅崩溃事件(ArkTS)
订阅崩溃事件(C/C++)
应用冻屏事件
应用冻屏事件介绍
订阅应用冻屏事件(ArkTS)
订阅应用冻屏事件(C/C++)
应用冻屏告警事件
应用冻屏告警事件介绍
订阅应用冻屏告警事件(ArkTS)
订阅应用冻屏告警事件(C/C++)
资源泄漏事件
资源泄漏事件介绍
订阅资源泄漏事件(ArkTS)
订阅资源泄漏事件(C/C++)
地址越界事件
地址越界事件介绍
订阅地址越界事件(ArkTS)
订阅地址越界事件(C/C++)
主线程超时事件
主线程超时事件介绍
订阅主线程超时事件(ArkTS)
订阅主线程超时事件(C/C++)
任务执行超时事件
任务执行超时事件介绍
订阅任务执行超时事件(ArkTS)
订阅任务执行超时事件(C/C++)
应用终止事件
应用终止事件介绍
订阅应用终止事件(ArkTS)
订阅应用终止事件(C/C++)
ArkWeb抛滑丢帧事件
ArkWeb抛滑丢帧事件介绍
订阅ArkWeb抛滑丢帧事件(ArkTS)
启动耗时事件
启动耗时事件介绍
订阅启动耗时事件(ArkTS)
订阅启动耗时事件(C/C++)
滑动丢帧事件
滑动丢帧事件介绍
订阅滑动丢帧事件(ArkTS)
订阅滑动丢帧事件(C/C++)
CPU高负载事件
CPU高负载事件介绍
订阅CPU高负载事件(ArkTS)
24h功耗器件分解统计事件
24h功耗器件分解统计事件介绍
订阅24h功耗器件分解统计事件(ArkTS)
音频卡顿事件
音频卡顿事件介绍
订阅音频卡顿事件(ArkTS)
订阅音频卡顿事件(C/C++)
HiAppEvent常见问题
使用FaultLogExtensionAbility订阅事件
性能跟踪
HiTraceMeter介绍
使用HiTraceMeter跟踪性能(ArkTS)
使用HiTraceMeter跟踪性能(C/C++)
查看HiTraceMeter日志
分布式调用链跟踪
HiTraceChain介绍
使用HiTraceChain打点(ArkTS)
使用HiTraceChain打点(C/C++)
检测模式
使用HiChecker检测问题(ArkTS)
系统调试信息获取
HiDebug能力概述
HiDebug接口使用示例(ArkTS)
HiDebug接口使用示例(C/C++)
业务线程超时检测
使用HiCollie检测业务线程卡死卡顿问题(C/C++)
使用HiCollie监控函数执行时间超长问题(C/C++)
错误管理及应用恢复
错误管理开发指导
应用恢复开发指导
应用灰度采集
应用灰度采集介绍
使用HiRetrieval进行应用灰度采集(ArkTS)
Performance Analysis Kit术语
个人数据处理说明
Test Kit(应用测试服务)
Test Kit简介
调试命令
SDK命令行工具简介
hdc
aa工具
bm工具
打包拆包工具
打包工具
拆包工具
扫描工具
cem工具
anm工具
edm工具
restool工具
param工具
power-shell工具
atm工具
network-cfg工具
hilog
hilogtool
hidumper
hidumper
PrivacyManagerService
hitrace
hiperf
hiprofiler
uinput
命令行工具
toybox
媒体库资源访问工具
devicedebug工具
rawheap-translator工具
netcopilot工具
二进制签名工具
媒体
媒体开发概览
使用HDR Vivid特性开发媒体应用
Audio Kit(音频服务)
Audio Kit简介
使用合适的音频流类型
音频焦点和音频会话管理
音频焦点和音频会话开发概述
音频焦点介绍
音频会话管理(ArkTS)
使用OHAudio开发音频会话功能(C/C++)
音频播放
音频播放开发概述
推荐使用OHAudio开发音频播放功能(C/C++)
使用AudioRenderer开发音频播放功能(ArkTs)
低时延音频播放(C/C++)
低功耗音频播放
使用AudioHaptic开发音振协同播放功能(ArkTs)
使用SoundPlayer开发系统音效播放功能
播放音量管理
空间音频能力查询和状态订阅
音频播放流管理
音频录制
音频录制开发概述
推荐使用OHAudio开发音频录制功能(C/C++)
使用AudioCapturer开发音频录制功能(ArkTS)
低时延音频录制(C/C++)
管理麦克风静音状态
查询和监听其他应用录制状态
录音并发策略说明
实现自定义耳返
实现低时延耳返
音频设备路由管理
查询和监听音频输入设备
查询和监听音频输出设备
实现音频输入设备路由切换
实现音频输出设备路由切换
响应输出设备变更时合理暂停
音频通话
音频通话开发概述
开发音频通话功能
音频性能调优
提升音频性能体验
音频工作组管理
音频编创
音频编创开发概述(C/C++)
离线编辑(C/C++)
实时预览(C/C++)
空间渲染(C/C++)
MIDI设备通信
OH_MIDI概述(C/C++)
使用OH_MIDI进行MIDI开发(C/C++)
OpenSL ES开发指导(不再推荐)
从OpenSL ES切换到OHAudio(C/C++)
使用OpenSL ES开发音频播放功能(C/C++)
使用OpenSL ES开发音频录制功能(C/C++)
AVCodec Kit(音视频编解码服务)
AVCodec Kit简介
AVCodec支持的格式
音视频编解码
获取支持的编解码能力
音频编码
音频编码同步模式
音频解码
音频解码同步模式
视频编码
视频编码同步模式
时域可分层视频编码
B帧视频编码
典型场景的视频编码配置
ROI视频编码
编码支持一入二出
编码支持前处理
视频解码
视频解码同步模式
智能流畅倍速解码
视频可变帧率
Audio Vivid能力
Audio Vivid能力介绍
Audio Vivid解封装
Audio Vivid解码
Audio Vivid编码
Audio Vivid播放
HDR Vivid能力
HDR Vivid视频播放
HDR Vivid视频录制
视频解码支持HDRVivid2SDR
媒体数据封装与解析
媒体数据封装
媒体数据解析
音视频编解码开发实践
Surface模式解码视频的播放控制
音画同步
AVCodec Kit常见问题
创建视频解码器和NativeWindow初始化并行
视频编解码宽高、跨距与裁剪信息说明
AVSession Kit(音视频播控服务)
AVSession Kit简介
本地媒体会话
本地媒体会话概述
媒体会话提供方(ArkTS)
媒体会话提供方(C/C++)
应用接入AVSession场景介绍
后台播放
应用接入歌词组件
分布式媒体会话
使用组件切换通话设备
使用投播组件
播控特性简介
投播开发指导
扩展屏投播开发指导
应用接入播控自检
应用接入播控自检表
应用接入播控检查项详细说明
基础播控
快捷播放
音视频投播
播控推荐服务
音频模板
使用音频模板
AVSession Kit术语
Camera Kit(相机服务)
Camera Kit简介
申请相机开发的权限
开发相机应用必选能力(ArkTS)
相机管理(ArkTS)
设备输入(ArkTS)
会话管理(ArkTS)
开发相机应用基础能力(ArkTS)
通过系统相机拍照和录像(CameraPicker)
预览(ArkTS)
双路预览(ArkTS)
拍照(ArkTS)
拍照实践(ArkTS)
录像(ArkTS)
录像实践(ArkTS)
元数据(ArkTS)
手电筒使用(ArkTS)
适配不同折叠状态的摄像头变更(ArkTS)
分段式拍照(ArkTS)
分段式拍照实践(ArkTS)
动态照片拍摄(ArkTS)
相机基础动效(ArkTS)
在Worker线程中使用相机(ArkTS)
相机启动恢复实践(ArkTS)
自动切换摄像头实践(ArkTS)
白平衡设置(ArkTS)
压力管控(ArkTS)
相机控制器(ArkTS)
微距能力设置(ArkTS)
多摄同开(ArkTS)
YUV拍照(ArkTS)
对焦(ArkTS)
相机旋转
适配相机旋转角度(ArkTS)
相机旋转角度的术语
安全相机(ArkTS)
动态调整预览帧率(ArkTS)
使用相机预配置(ArkTS)
HDR Vivid相机拍照(ArkTS)
HDR Vivid相机录像(ArkTS)
相机预览花屏解决方案
开发相机应用必选能力(C/C++)
相机管理 (C/C++)
设备输入(C/C++)
会话管理(C/C++)
开发相机应用基础能力(C/C++)
预览(C/C++)
预览流二次处理(C/C++)
拍照(C/C++)
拍照实践(C/C++)
分段式拍照(C/C++)
录像(C/C++)
录像实践(C/C++)
元数据(C/C++)
手电筒使用(C++)
压力管控(C/C++)
微距能力设置(C/C++)
多摄同开(C/C++)
YUV拍照(C/C++)
对焦(C/C++)
相机旋转
适配相机旋转角度(C/C++)
相机旋转角度的术语
动态调整预览帧率(C/C++)
使用相机预配置(C/C++)
DRM Kit(数字版权保护服务)
DRM Kit 简介
数字版权保护(ArkTS)
数字版权保护(C/C++)
基于AVPlayer播放DRM节目(ArkTS)
基于AVCodec播放DRM节目(C/C++)
Image Kit(图片处理服务)
Image Kit简介
图片开发指导(ArkTS)
图片解码
使用ImageSource完成图片解码
使用ImageSource完成多图对象解码
图片解码内存优化(ArkTS)
图片区域解码与下采样(ArkTS)
使用ImageSource获取RAW数据
图片编码
使用ImagePacker完成图片编码
使用ImagePacker完成多图对象编码
图片编辑和处理
使用PixelMap完成图像变换
使用PixelMap完成位图操作
使用VideoProcessingEngine实现图片超分辨率
图片元数据处理
读取和编辑图片Exif信息
读取和编辑图片XMP元数据
使用ImageSource获取专有元数据
图片接收
使用ImageReceiver完成图片接收
图片开发指导(C/C++)
图片解码
使用Image_NativeModule完成图片解码
使用Image_NativeModule完成多图对象解码
图片解码内存优化(C/C++)
图片区域解码与下采样(C/C++)
使用Image_NativeModule完成动图解码
使用Image_NativeModule完成HDR图片解码
图片编码
使用Image_NativeModule完成图片编码
使用Image_NativeModule完成多图对象编码
图片编辑和处理
使用Image_NativeModule完成位图操作
使用ImageEffect编辑图片
使用ImageProcessing处理图片
图片缩放
图片动态元数据生成
图片色彩空间转换
单层HDR图片转换双层
双层HDR图片转换单层
使用Image_NativeModule读取和编辑图片Exif信息
图片接收
使用Image_NativeModule完成图片接收
Image Kit常见问题
如何处理HEIF图片
如何获取图片的旋转角度信息
Image Kit异常处理
Image Kit常见崩溃报错问题
图片开发指导(依赖JS对象)(不再推荐)
图片解码
图片编码
图像变换
位图操作
图片接收
Image Kit术语
Media Kit(媒体服务)
Media Kit简介
媒体开发指导(ArkTS)
播放
使用AVPlayer播放音频(ArkTS)
使用AVPlayer播放视频(ArkTS)
使用AVPlayer设置播放URL(ArkTS)
使用AVPlayer播放流媒体(ArkTS)
使用AVPlayer添加视频外挂字幕(ArkTS)
使用SoundPool播放短音频(ArkTS)
录制
使用AVRecorder录制音频(ArkTS)
使用AVRecorder录制视频(ArkTS)
使用AVScreenCaptureRecorder录屏写文件(ArkTS)
媒体信息查询
使用AVMetadataExtractor提取音视频元数据信息(ArkTS)
使用AVImageGenerator提取视频指定时间图像(ArkTS)
视频转码
使用AVTranscoder实现视频转码(ArkTS)
创建异步线程执行AVTranscoder视频转码(ArkTS)
转码常见问题
媒体开发实践
基于AVPlayer播放长视频实践
基于AVPlayer播放短视频实践
基于AVPlayer播放嵌入式短视频实践
基于AVPlayer播放网络视频实践
在线视频播放卡顿优化
基于系统能力获取视频缩略图
基于AVScreenCapture实现屏幕录制(ArkTS)
媒体开发指导(C/C++)
播放
使用AVPlayer播放音频(C/C++)
使用AVPlayer播放视频(C/C++)
使用AVPlayer播放流媒体(C/C++)
使用LPP播放器播放视频 (C/C++)
录制
使用AVRecorder录制音频(C/C++)
使用AVRecorder录制视频(C/C++)
使用AVScreenCapture录屏取码流(C/C++)
AVScreenCapture录屏基础流程
AVScreenCapture录屏自定义场景
录屏常见问题
使用AVScreenCapture录屏写文件(C/C++)
使用AVScreenCapture实现窗口级录屏(C/C++)
屏幕录制支持矩形区域录制
媒体信息查询
使用AVMetadataExtractor获取元数据(C/C++)
使用AVImageGenerator获取视频帧(C/C++)
视频转码
使用AVTranscoder实现视频转码(C/C++)
视频处理
视频缩放
视频动态元数据生成
视频色彩空间转换
基于AVScreenCapture实现屏幕录制(C/C++)
Media Kit术语
Media Library Kit(媒体文件管理服务)
Media Library Kit 简介
使用Picker选择媒体库资源
保存媒体库资源
使用PhotoPicker组件访问图片/视频
使用AlbumPicker组件访问相册列表
使用RecentPhoto组件获取最近一张图片
使用PickerController将编辑后的图片替换原图
使用PhotoPicker推荐图片
动态照片
访问和管理动态照片资源
使用MovingPhotoView播放动态照片
设备升级继承媒体文件访问权限
受限开放能力
开发准备
媒体资源使用指导
用户相册资源使用指导
系统相册资源使用指导
媒体资源变更通知相关指导
使用MediaAssetManager请求媒体资源(C/C++)
图片获取与保存实践
Media Library Kit常见问题
如何正确管理媒体资源
如何正确判断媒体资源类型
查看的媒体图片未包含地理位置信息
如何正确处理高像素图片
Media Library Kit术语
Ringtone Kit(铃声服务)
Ringtone Kit简介
设置铃声
Scan Kit(统一扫码服务)
Scan Kit简介
开发准备
接入“扫码直达”服务
默认界面扫码
自定义界面扫码
图像识码
识别本地图片
识别图像数据
码图生成
通过文本生成码图
通过字节数组生成码图
Scan Kit常见问题
如何添加“扫码直达”服务的快速入口
扫码直达跳转失败
Scan Kit无法识别多个码图
上传软件包时提示“上传的软件包与声明支持设备不一致”
默认界面扫码中相册扫码识别多码失败
条形码识别错误
条形码识别坐标信息为空
自定义界面扫码预览画面出现拉伸
自定义界面扫码黑屏现象
自定义界面扫码如何连续扫码(customScan.rescan)
通过字节数组生成码图无法识别
默认界面扫码取消后,如何感知
H5场景如何接入扫码
如何主动通过手势缩放变焦比
自定义界面扫码如何实现扫码框
默认界面扫码/自定义界面扫码体验设计
自定义界面扫码如何增加重试机制
自定义界面扫码同时调用本地图片识码时,应用概率性自动退出
如何将码图背景颜色设置成透明色
Scan Kit术语
个人数据处理说明
图形
AR Engine(AR引擎服务)
AR Engine简介
开发准备
管理AR会话
管理AR会话介绍
管理AR会话(ArkTS)
管理AR会话(C/C++)
运动跟踪
运动跟踪介绍
获取设备位姿(ArkTS)
获取设备位姿(C/C++)
平面识别
平面识别介绍
检测环境中的平面(ArkTS)
检测环境中的平面(C/C++)
命中检测
命中检测介绍
物体摆放(ArkTS)
物体摆放(C/C++)
平面语义
平面语义介绍
识别平面语义(ArkTS)
识别平面语义(C/C++)
物体语义
物体语义介绍
识别目标形状(C/C++)
环境Mesh识别
环境Mesh识别介绍
获取网格扫描信息(ArkTS)
获取网格扫描信息(C/C++)
深度估计
深度估计介绍
获取深度估计信息(ArkTS)
获取深度图(C/C++)
高精几何重建
高精几何重建介绍
高精几何重建(ArkTS)
高精几何重建(C/C++)
人体骨骼点识别与跟踪
人体骨骼点识别与跟踪介绍
人体跟踪与骨骼关键点识别(ArkTS)
人体跟踪与骨骼关键点识别(C/C++)
人脸识别与跟踪
人脸识别与跟踪介绍
人脸跟踪(ArkTS)
人脸跟踪(C/C++)
图像跟踪
图像跟踪介绍
图像跟踪(ArkTS)
图像跟踪(C/C++)
AR Engine常见问题
获取检测平面的二维顶点数组时报错:“plane is nullptr!”,返回错误码:401
摄像头被遮挡一段时间后再放开,输出的位姿有跳变
反光、光线暗或者弱纹理场景(输入图像颜色变化小)下无法识别平面
某些特殊场景下(如附近存在磁场干扰、手机发烫或扫描到重复纹理等),出现平面漂移或者位姿数据跳变现象
数据类型转换说明
AR Engine术语
个人数据处理说明
附录
ArkGraphics 2D(方舟2D图形服务)
ArkGraphics 2D简介
使用可变帧率能力定制不同内容的绘制帧率
可变帧率简介
请求动画绘制帧率
请求UI绘制帧率
请求自绘制内容绘制帧率
NativeDisplaySoloist开发指导 (C/C++)
过度绘制调试使用指导
图形绘制与显示
图形绘制与显示开发概述
画布的获取与绘制结果的显示
画布的获取与绘制结果的显示(ArkTS)
画布的获取与绘制结果的显示(C/C++)
画布操作及状态
画布操作及状态处理(ArkTS)
画布操作及状态处理(C/C++)
绘制效果
绘制效果概述
基础绘制效果(ArkTS)
复杂绘制效果(ArkTS)
基础绘制效果(C/C++)
复杂绘制效果(C/C++)
图元绘制
图元绘制概述
几何形状绘制(ArkTS)
图片绘制(ArkTS)
字块绘制(ArkTS)
几何形状绘制(C/C++)
图片绘制(C/C++)
字块绘制(C/C++)
文本
文本开发概述
字体管理
使用主题字体(ArkTS)
自定义字体的注册和使用(ArkTS)
系统字体的信息获取和使用(ArkTS)
使用主题字体(C/C++)
自定义字体的注册和使用(C/C++)
系统字体的信息获取和使用(C/C++)
文本测量
文本测量(ArkTS)
文本测量(C/C++)
文本绘制与显示
简单文本绘制与显示(ArkTS)
复杂文本绘制与显示(ArkTS)
自定义文本绘制与显示(ArkTS)
简单文本绘制与显示(C/C++)
复杂文本绘制与显示(C/C++)
自定义文本绘制与显示(C/C++)
文本开发常见问题
离线图像处理
添加图像效果(C/C++)
NativeVSync开发指导 (C/C++)
图形缓冲区
NativeBuffer开发指导 (C/C++)
NativeImage开发指导 (C/C++)
NativeWindow开发指导 (C/C++)
GPU/CPU内存访问同步操作开发指南 (C/C++)
图形缓冲区常见稳定性问题 (C/C++)
ArkGraphics 2D术语
ArkGraphics 3D(方舟3D图形)
ArkGraphics 3D简介
ArkGraphics 3D场景搭建以及管理
ArkGraphics 3D资源创建以及使用
创建并使用材质资源
创建并使用图片资源
创建并使用环境资源
.shader资源文件格式要求
ArkGraphics 3D场景动画控制以及管理
ArkGraphics Editor插件及编辑器的下载与安装
Graphics Accelerate Kit(图形加速服务)
Graphics Accelerate Kit简介
游戏渲染加速服务
业务概述
超帧功能开发
内插模式
概述
OpenGL ES平台
Vulkan平台
外插模式
概述
OpenGL ES平台
Vulkan平台
顶点标记
概述
OpenGL ES平台
Vulkan平台
系统送显模式
概述
OpenGL ES平台
Vulkan平台
AI超帧模式
概述
Vulkan平台
ABR功能开发
OpenGTX功能开发
游戏资源加速服务
资源包后台下载
业务概述
开发准备
系统后台下载资源包
extension系统托管下载
extension协同下载
应用前台下载资源包
系统后台切应用前台接续下载资源包
发布资源包下载任务
查看资源包分发数据
游戏启动加速服务
开发准备
秒级启动
业务概述
实现游戏启动加速
游戏预启动
业务概述
实现游戏预启动加速
Graphics Accelerate Kit常见问题
游戏渲染加速服务
超帧和ABR支持的图形API有哪些
Kit支持的设备类型有哪些
开启超帧外插模式后运动物体边缘出现严重拖影现象,可能的原因是什么
哪些特征的Buffer适合使能ABR
ABR进行Buffer分辨率调整引起其他Pass渲染效果异常,该如何解决
集成ABR后,从游戏引擎获取到的Native纹理内容为空,该如何解决
游戏资源加速服务
上传至华为CDN的资源包文件支持哪些格式类型
集成游戏资源加速ExtensionAbility方法,未配置游戏资源加速ExtensionAbility组件类型信息,导致功能未生效
集成了游戏资源加速ExtensionAbility方法,未配置网络权限,导致功能未生效
游戏资源加速ExtensionAbility方法中使用static静态变量为什么不生效
如何解析华为CDN场景下manifestUrl对应的xml文件
是否可以仅接入下载ExtensionAbility,而不改写原先在游戏引擎内部的下载逻辑或下载中间件
接入资源包后台下载功能后如何使用指定测试设备进行自测
是否可以终止已发布的下载任务,例如游戏出现问题时是否能够及时关闭
是否可以申请长时任务,在游戏前台下载资源包过程中切后台时免冻结并继续下载资源包
若开发者在游戏中使用Unity Addressables资源管理框架,如何集成游戏资源包后台下载功能
游戏启动加速服务
通过加载内存镜像启动的游戏会全屏显示来电提醒,应该如何避免
游戏上划退出后,场景切换阶段存在振动,应该如何避免
快速启动的游戏存在三方SDK功能异常,应该如何排查
游戏调用UnityEngine.Application.Quit侧滑退出时出现黑屏现象,应该如何避免
日志中频繁打印BusinessError: The Worker instance is not running, maybe worker is terminated when PostMessage错误信息,应该如何排查
游戏出现卡死后,应该如何避免下一次秒启后还是卡死场景
秒级启动后,游戏出现类似UIContent is nullptr报错导致登录等异常,应该如何排查
游戏因未实现防沉迷提醒提审被拒,应该如何解决
游戏秒级启动场景中闪屏播放与游戏音频恢复不同步,应该如何解决
游戏接入秒级启动后无法热更应该如何处理
Graphics Accelerate Kit术语
Spatial Recon Kit(空间建模服务)
Spatial Recon Kit简介
Spatial Recon Kit术语
加载3DGS模型
添加滤镜效果
空间照片
重建三维场景(C/C++)
管理Spatial Recon会话
XEngine Kit(GPU加速引擎服务)
XEngine Kit简介
开发准备
空域GPU超分
时域AI超分
空域AI超分
自适应VRS
Subpass Shading
光线追踪反射
光线追踪阴影和环境光遮蔽
光线追踪全局光照
控显分离
Maleoon API
高性能GPU排序
XEngine Kit常见问题
创建特性实例失败如何处理
超分和自适应VRS特性是否可以同时使用
自适应VRS深度附件使用说明
空域AI超分的输出颜色附件是否需要通过OH_NativeBuffer创建
应用服务
Account Kit(华为账号服务)
Account Kit简介
开发者使用Account Kit的登录能力的管理细则
开发准备
申请账号权限
配置签名和指纹
配置Client ID
登录
概述
华为账号一键登录(获取手机号和UnionID/OpenID)
华为账号登录(获取UnionID/OpenID)
使用“华为账号登录”按钮登录
使用自定义按钮登录
静默登录
订阅华为账号的登录/登出事件
获取华为账号用户信息
概述
获取头像昵称
获取手机号
获取收货地址
获取发票抬头
获取风险等级
概述
通过华为账号一键登录获取用户风险等级
华为账号其他方式登录获取用户风险等级
获取实名年龄段
未成年人模式
概述
应用与系统实现未成年人模式联动
应用与系统联动切换未成年人模式
应用内开启未成年人模式
应用内关闭未成年人模式
关闭应用的未成年人模式(推荐)
关闭系统的未成年人模式
应用内调整未成年人模式设置
Account Kit Skill能力开放
订阅和处理用户信息变更
Account Kit常见问题
1001500001 应用指纹证书校验失败的可能原因和解决办法
1001502014 应用未申请scopes或permissions权限的可能原因和解决方法
一键登录场景下无法获取到匿名手机号如何解决
一键登录场景下无法获取到明文手机号如何解决
一键登录场景下,应用已展示一键登录页,此时用户退出、切换或注销华为账号应该如何处理
使用华为账号一键登录功能时,是以华为账号的UnionID/OpenID还是以手机号作为用户的主要标识
HarmonyOS APK应用和HarmonyOS应用在一键登录场景下的用户数据如何互通
无法获取到头像昵称如何解决
OpenID和UnionID的格式说明
Access Token和Refresh Token的有效时长是多久
Access Token和Refresh Token长度限制要求
ID Token的使用场景与使用方法
未成年人模式开启后USB断连如何解决
订阅到系统未成年人模式开启了,这个时候应用要怎么处理
三方开发框架接入华为账号一键登录
不同开发者的应用之间如何实现用户数据互通
401 参数检查失败的可能原因和解决办法
60180007 服务端通过Authorization Code无法获取到华为账号一键登录手机号如何解决
1001502003 输入参数值无效的可能原因和解决办法
Account Kit术语
个人数据处理说明
附录
支持的国家/地区
Ads Kit(广告服务)
Ads Kit简介
Ads Kit术语
开发准备
流量变现服务开发
流量变现服务开发概述
横幅广告
原生广告
激励广告
插屏广告
开屏广告
贴片广告
实时竞价
流量变现服务常见问题
展示广告时显示白屏
鲸鸿动能媒体服务平台打开受限
PC设备请求或展示广告时返回了801错误码
开放匿名设备标识服务
鲸鸿动能Ads Kit个人数据处理说明
AppGallery Kit(应用市场服务)
AppGallery Kit简介
数字商品服务
概述
接入流程
启用数字商品服务
开通相关服务和配置参数
配置应用
配置数字商品
数字商品介绍
通过AppGallery Connect配置数字商品
通过Server API配置数字商品
应用内分发数字商品
展示数字商品
购买数字商品
发放数字商品权益
测试数字商品服务
应用市场推荐
添加元服务卡片至桌面
展示应用详情页面
应用内快捷方式
添加桌面快捷方式
查询应用内快捷方式
删除应用内快捷方式
产品特性按需分发
产品特性按需分发(ArkTS)
产品特性按需分发(C/C++)
生态查询服务
应用市场更新功能
应用归因服务
开发概述
开发准备
注册企业账号
管理归因角色
管理转化事件
标准转化事件
自定义转化事件
管理归因策略
登记归因来源及转化
归因结果回传
接入调试功能
隐私管理服务
图标管理服务
通过AppGallery Connect动态管理应用图标
实现应用图标动态切换
应用评论服务
AppGallery Kit常见问题
AppGallery Connect中可以配置多个订阅关键事件回调地址吗?
AppGallery Connect获取的IAP公钥最大长度是多少?便于用户存储设置的最大长度是多少?
AppGallery Connect商品管理页面,商品价格编辑界面的默认价格表示什么意思?
在AppGallery Connect中单独修改商品在某个地区的价格,以后汇率变动,是否会影响应用内的商品价格?
AppGallery Connect商品管理页面中,价格展示是否做了数字调整?比如小数点第二位6/9等调整?
是否必须使用SHA256的证书才能通过验签?
签名校验是否可以都在服务端执行?
支付界面是否仅有一种UI设计?是否存在其他支付界面方案?
是否能在删除商品后添加具有相同productId的商品?
数字商品服务器支持证书
数字商品服务器支持加密套件
数字商品服务中订单订购状态有哪些?
订阅商品的续费周期规则是什么?
订阅型商品中的续费周期1个月是指30天、31天还是自然月?同理,2个月、3个月具体包含多少天数?
订阅时长按照自然月计算时,2月份是28天还是29天?
应用市场推荐展示元服务卡片异常
按需加载场景中加载动态模块失败
按需加载模块是否支持单独上架应用市场或单独更新?
按需加载场景中,应用在加载指定模块后重启,还是已加载状态吗?是否需要重新发起按需加载请求?
按需加载场景中,用户在加载指定模块后是否可以卸载,然后重新发起请求?
按需加载场景中,是否支持依赖模块同步加载?
按需加载场景中,是否支持同时存在多个任务?
按需加载成功后,再通过应用市场更新应用,是否需要再次触发按需加载?
按需加载成功后,跳转动态模块页面失败?
未上架应用市场的应用,如何快速接入调试产品特性按需分发功能?
生态查询服务场景中获取自身场景值为空
应用市场更新功能抛出不在前台异常
向用户显示应用更新提示弹框文案能否自定义?
调用应用归因服务登记归因来源接口报错身份检查错误
如何过滤应用归因服务的日志?
如何过滤应用内快捷方式加桌的日志?
应用内快捷方式加桌返回401错误码
附录
标准化事件及应用归因签名
支持的国家/地区
场景值
App Linking Kit(应用链接服务)
App Linking Kit简介
开发准备
基本准备工作
开通App Linking服务
通过App Linking应用链接拉起指定应用
通过直达应用市场能力跳转至应用市场下载详情页
通过延迟链接跳转至应用详情页
通过聚合链接按指定方式跳转至应用
App Linking Kit术语
Calendar Kit(日历服务)
Calendar Kit简介
日历账户管理
日程管理
注册并管理一键服务日程
日历服务实践案例
Call Service Kit(通话服务)
Call Service Kit简介
开发准备
来电场景
去电场景
企业联系人信息来去电页面显示
企业服务信息来去电页面显示
应用跳转陌生号码和信息识别页面
Call Service Kit常见问题
来电横幅无法拉起
来电横幅通知头像无法显示
Cloud Foundation Kit(云开发服务)
Cloud Foundation Kit简介
开发准备
基本准备工作
开通云函数服务
开通云数据库服务
开通云存储服务
开通预加载服务
云函数
开发云函数
开发函数
Node.js
创建函数
测试函数
调用函数
(可选)通过端云一体化开发工程调试本地云函数
启动本地云函数
调用本地云函数
云数据库
新增对象类型
新增存储区
引入对象类型文件
初始化数据库访问
查询数据
写入数据
删除数据
云存储
设置云存储配置项
初始化全局应用上下文
初始化存储实例
上传指定文件至云侧
下载云侧文件至本地
获取云侧文件下载地址
删除云侧文件
获取云侧文件列表
获取云侧文件的元数据
设置云侧文件的元数据
预加载
概述
开发流程
配置预加载
开发预加载资源接口
调用预加载
添加预加载依赖类
预加载工具类
预加载实现类
调用安装预加载
调用周期性预加载
调用跳链安装预加载
调用全部预加载
(可选)使用命令行工具调试周期性预加载
调试周期性预加载
错误码
使用模拟器调试
Cloud Foundation Kit常见问题
云存储
使用云存储上传文件失败,提示“404:Product does not exist”
使用云存储上传文件失败,app日志提示“"state":65”,upload进程日志提示“403 Forbidden”
调用云存储业务接口失败,app日志提示“"state":65”,upload进程日志提示“404 Not Found”
预加载
如何通过应用侧日志定位预加载问题
运行应用时提示“appid **** is not in white list, to skip”
运行应用时报“XXX Read timed out”异常
Cloud Foundation Kit术语
个人数据处理说明
附录
支持的国家/地区
Contacts Kit(联系人服务)
Contacts Kit简介
使用picker管理联系人
Enterprise Space Kit(企业数字空间服务)
Enterprise Space Kit简介
开发准备
空间互传
文件外发管控
空间管理
工作空间管理
工作空间配置
空间事件订阅
进程访问限制
深度冻结策略
企业账号认证
Enterprise Space Kit常见问题
编译失败,该如何解决?
Enterprise Space Kit术语
File Manager Service Kit(文件管理服务)
File Manager Service Kit简介
删除文件到回收站
获取文件图标
解析文件快捷方式
Game Controller Kit(游戏控制器服务)
Game Controller Kit简介
监听设备上下线(C/C++)
监听游戏手柄的轴和按键事件(C/C++)
Game Service Kit(游戏服务)
Game Service Kit简介
基础游戏服务(必选)
游戏登录
概述
网络游戏登录
网络游戏登录概述
接入华为账号登录(必选)
接入游戏官方账号登录
单机游戏登录
开发后自检
小游戏
概述
开发准备
小游戏登录(必选)
小游戏支付
基础游戏服务术语
游戏场景感知(可选)
概述
开发准备
开发指导(ArkTS)
开发指导(C/C++)
游戏场景感知术语
游戏近场快传(可选)
概述
开发准备
开发指导
传输资源包
传输安装包
游戏近场快传术语
个人数据处理说明
Game Service Kit常见问题
基础游戏服务
若游戏无HarmonyOS 4及以下系统包时,是否可以不配置APP ID映射关系
游戏官方账号图标大小是多少
如何设置游戏登录界面不显示官方账号登录
玩家选错登录账号后如何处理
游戏场景感知
使用C#语言开发的游戏是否可以接入游戏场景感知功能?
附录
配置回调地址
获取游戏密钥
Health Service Kit(运动健康服务)
Health Service Kit简介
接入流程
应用开发者申请资质说明
开发接入
数据开放总览
开发准备
申请运动健康服务
配置Client ID
Phone/Tablet应用开发
拉起运动健康App隐私授权
管理用户授权
管理数据源
管理运动健康数据
运动健康采样数据
锻炼记录
健康记录
实时三环数据
手动数据同步
Wearable应用开发
管理用户授权
管理运动健康数据
读取运动健康采样数据
读取锻炼记录
读取健康记录
实时三环数据
LiteWearable应用开发
管理用户授权
运动联动管理
数据类型
概要
权限说明
采样数据
日常活动
心率
血氧
压力
体温
血压
体重
身高
情绪
心率变异性
锻炼记录数据
简介
跑步
健走
骑行
跳绳
户外探险
篮球
滑雪
潜水闭气测试
潜水闭气训练
潜水
椭圆机
高尔夫
登山
游泳
划船机
其他运动
健康记录数据
睡眠
生理周期
申请验证获取正式权限
个人数据处理说明
Health Service Kit常见问题
附录
标志使用规范
IAP Kit(应用内支付服务)
IAP Kit简介
IAP Kit接入规范
接入Skill(可选)
使用入门
开发准备
基本准备工作
开通商户服务
创建项目和应用
开启和激活应用内购买服务
(可选)申请嵌入式收银台开放能力权限
(可选)配置应用内购买服务参数
配置商品信息
配置签名
配置应用身份信息
商品购买
消耗型/非消耗型商品购买
接入购买
权益发放
自动续期订阅商品购买
自动续期订阅说明
接入自动续期订阅
权益发放
非续期订阅商品购买
接入购买
权益发放
沙盒测试
收益分析和报告
售后
退款
开票
IAP Kit常见问题
AppGallery Connect中可以配置多个关键事件通知接收地址吗?
AppGallery Connect获取的IAP公钥最大长度是多少?便于用户存储设置的最大长度是多少?
AppGallery Connect商品管理页面,商品价格编辑界面的默认价格表示什么意思?
在AppGallery Connect中单独修改商品在某个地区的价格,以后汇率变动,是否会影响应用内的商品价格?
AppGallery Connect商品管理页面中,价格展示是否做了数字调整?比如小数点第二位6/9等调整?
是否必须使用SHA256的证书才能通过验签?
签名校验是否可以都在服务端执行?
是否能在删除商品后添加具有相同productId的商品?
IAP服务器支持的证书范围
IAP服务器支持的加密套件范围
如何解决证书链不完整?
应用在子窗口中调用createPurchase拉起IAP Kit收银台时,子窗口会被隐藏,此现象正常吗?
在沙盒环境进行测试,但是实际需要真实支付是为什么?
HarmonyOS元服务和HarmonyOS应用是否可以共用同一个API密钥?
purchaseToken和purchaseOrderId这两个参数的最大长度是多少?
subGroupId(订阅组ID)、subGroupGenerationId(订阅组的代ID)和subscriptionId(订阅ID)说明
developerPayload处理机制及使用建议
应用迁移后,JWT密钥验签错误自查方法
自动续期订阅商品,A切换B且立即生效时,新订阅有效期的组成
IAP Kit术语
附录
华为IAP范围覆盖
Live View Kit(实况窗服务)
Live View Kit简介
实况窗设计规范
开发准备
基本准备工作
开通推送服务权益
设置数据处理位置
开通实况窗服务权益
接入联调测试
申请实况窗正式权限
开发实况窗场景
开发实况窗须知
构建本地实况窗
通过Push Kit更新实况窗
Live View Kit常见问题
更新实况窗被频控的问题
三方开发框架接入的问题
关于实况窗生命周期的问题
关于实况窗模板使用的问题
关于实况窗数量约束的问题
Location Kit(位置服务)
Location Kit简介
开发准备
申请位置权限开发指导
申请开放能力权限指导
获取设备的位置信息开发指导
获取设备的位置信息开发指导(ArkTS)
获取设备的位置信息开发指导(C/C++)
正地理编码与逆地理编码开发指导
地理围栏开发指导
地理围栏简介
端侧GNSS围栏开发指导
云侧围栏开发指导
个人数据处理说明
相关实例
附录
Map Kit(地图服务)
Map Kit简介
开发准备
创建地图
显示地图
切换地图类型
显示我的位置
显示自定义地图
地图交互
控件交互
手势交互
事件交互
更改地图位置
地图截图
在地图上绘制
标记
折线
弧线
多边形
圆形
点注释
气泡
点聚合
覆盖物
3D建筑
动态轨迹
设置地图元素压盖顺序
瓦片图层
热力图
矢量图层
流场图层
海量点图层
位置搜索
POI搜索
地理编码
路径规划
出行路线规划
批量算路
轨迹绑路
静态图
地图Picker
地点详情展示
地点选取
区划选择
通过地图应用实现导航等能力
地图计算工具
坐标纠偏
距离计算
Map Kit常见问题
地图不显示
siteId参数如何获取
手势卡顿或者不生效
设置地图Logo始终显示
场景化控件的language参数生效范围
个人数据处理说明
上架前准备-获取地图服务协议及资质证明
附录
地图数据版权声明
支持的语言
支持的国家/地区
Map Kit 术语
Notification Kit(用户通知服务)
Notification Kit简介
请求通知授权
管理通知角标
管理通知渠道
发布通知
发布文本类型通知
发布进度条类型通知
为通知添加自定义铃声
为通知添加行为意图
更新通知
取消通知
跨设备协同通知
跨设备协同通知概述
清除跨设备场景下的重复通知
通知订阅扩展能力
通知订阅扩展能力概述
通知订阅扩展能力开发步骤
申请优先通知权益
应用内通知设置快捷入口开发指导
Payment Kit(鸿蒙支付服务)
Payment Kit简介
接入规范学习
接入Skill说明
收银台设计规范
开发准备
商户入网和获取商户号
(可选)特定场景配置操作
开通支付服务
商户号绑定AppID
准备证书
端侧应用配置
云侧服务准备
(可选)数字人民币接入准备
(可选)用户身份验证服务接入准备
商户基础支付场景
平台类商户合单支付场景
免密支付接入
免密代扣说明
支付并签约场景
签约代扣场景
数字人民币支付场景
通用收银台接入
业务规则说明
混合支付场景
纯外部支付场景
拉起三方支付收银台
基于URL跳转方式
基于接口拉起方式
三方支付问题处理
引导用户绑卡场景
用户身份验证服务
实名信息验证/授权场景
人脸核身实人验证场景
身份验证服务调用记录查看
沙盒环境验证
运营工具
商家券场景
平台券
领券场景
选券场景
Payment Kit术语表
服务与支持
Payment Kit常见问题
接入开发时,请求参数的签名、结果验签在什么场景使用?
Payment Kit的签名公私钥怎么获取?
GET请求的bodySign是对谁签名得到的?
拉起收银台无反应或报错?
支付成功后没有收到回调?
同一用户重复签约,会生成多笔签约吗?
华为支付签约的免密代扣在哪里可以解约?
关于支付回调的验签,为什么预下单请求验签的时候使用SHA256,回调验签却使用SM2?只能使用SM2进行验签吗?
接口请求响应“无效的签名”应该如何排查?
收银台报错“服务暂不可用,请稍后重试”?
预下单请求报错“交易订单状态异常”?
预下单一段时间后再支付,能否有接口查到prepayId?
部分提供通知回调的API接口中的callbackUrl参数是否可以自定义?回调通知的报文是否支持商户自定义?
同一次支付请求接收到多次回调通知,怎么解决?
商户提供的回调通知接口在Payment Kit生产环境需要加网络允许清单吗?如何验证提供的回调地址Payment Kit服务器访问是否正常?
商户侧没有传营销信息,支付回调里面为什么会有营销信息?
App和元服务接口入参除了appId不同,其他如商户号、证书、密钥这些可以使用相同的吗?
商户入网后,有商户接入联调环境吗?
请求头PayMercAuth中的callerId和请求体中的mercNo或者combineMercNo是什么关系?
请求接口加签验证中,如果请求头“PayMercAuth”中bodySign字段为空值,会做验签吗?还是会先校验字段?
不更换商户订单号重复发起退款,返回000000,不返回退款金额的原因是什么?
Payment Kit的退款操作,除了通过接入指导中的退款接口退款,还有财务功能相关平台吗?能从这个平台进行退款?
下载账单文件后,应该使用哪种格式来解析日期?
收银台支付报错“应用信息校验不通过,请联系商家处理”?
商户号绑定AppID提示“主体不一致”?
如何联系运营机构或受理服务机构获取开发指引?
找不到“支付服务(非虚拟类)”菜单或AppID关联授权的页面怎么处理?
PDF Kit(PDF服务)
PDF Kit简介
pdfService能力
打开和保存PDF文档
添加、删除PDF页
PDF页面文本、图片和批注
转换PDF文档为图片
转换指定页面或指定区域为图片
转换整个PDF文档为图片
判断PDF文档是否加密及删除加密
添加、删除书签
添加、删除页眉页脚
添加、删除水印
添加、删除背景
PdfView预览组件
预览PDF文档
打开和保存PDF文档
设置PDF文档预览效果
搜索关键字
高亮显示PDF文档
批注
PDF缩略图转换为图片
优化PDF文档切换体验
PDF Kit 常见问题
PDF Kit可以移除具体页面的页眉页脚、水印、背景吗?
PDF文档支持在线预览吗?
Preview Kit(文件预览服务)
Preview Kit简介
文件预览
文件打开加速(C/C++)
文件打开加速状态感知(已废弃)
通用文件缓存加速(C/C++)
Preview Kit常见问题
openPreview打开显示预览失败
使用DocumentViewPicker拿到的uri通过openPreview打开显示预览失败
Preview Kit术语
Push Kit(推送服务)
Push Kit简介
使用入门
开发准备
学习Push Kit接入规范
开通推送服务
申请推送场景化消息权益
获取Push Token
推送场景化消息
推送通知消息
发送通知消息
撤回通知消息
推送角标刷新消息
推送卡片刷新消息
推送语音播报消息
发送语音播报消息
撤回语音播报消息
推送后台消息
推送实况窗消息
推送应用内通话消息
端云调试
端云调试概述
基于服务账号生成鉴权令牌
推送场景化消息
(可选)开发消息回执
(可选)推送报告
获取AAID
Push Kit常见问题
如何处理推送消息时遇到的问题
关于云侧接口推送成功但设备收不到推送消息的问题
如何处理误分类问题
如何处理推送通知消息数量不够用问题
关于通知消息被频控的问题
应用内通话消息在设备重启后的首次锁屏状态问题
如何处理应用内通话消息的来电横幅问题
场景化消息中的请求URL版本问题
应用处于后台时应用内如何接收消息
要实现即时聊天功能应该使用什么类型的场景化消息
如何收费
如何更换回执服务器证书的问题
个人数据处理说明
附录
通知内容管理细则
通知违规处罚标准
支持的国家/地区
Reader Kit(阅读服务)
Reader Kit简介
书籍内容解析
获取书籍信息
获取目录列表
书籍内容排版
构建阅读器
修改阅读设置
自定义字体
自定义页面背景
修改翻页方式、字体大小及行间距
适配深、浅色模式
监听文本缩放因子变化
书籍内容交互
手动触发翻页
阅读进度通知
Scenario Fusion Kit(融合场景服务)
Scenario Fusion Kit简介
开发准备
场景化Button
快速验证手机号Button
选择头像Button
打开APP Button
选择收货地址Button
选择发票抬头Button
地图选点Button
权限设置Button
获取手机号和风险等级Button
场景化Input
省市区选择器Input
场景化API
通过API获取系统信息属性
通过API异步获取系统信息属性
通过API获取系统设置属性
通过API展示关注组件
文件路径转换API
智能填充服务
智能填充概述
典型场景展示
动态修改ContentType值
自动补全地址表单所在地区
推荐车牌号场景
推荐数据源及推荐逻辑说明
ContentType使用场景说明
三方框架+H5接入智能填充
H5接入智能填充
React Native框架+H5接入智能填充
Flutter框架+H5接入智能填充
Taro框架+H5接入智能填充
Weex框架+H5接入智能填充
mPaas框架+H5接入智能填充
H5/三方框架和HarmonyOS配置项映射关系
Scenario Fusion Kit术语
Scenario Fusion Kit常见问题
单击快速验证手机号按钮,无法拉起页面
打开应用功能跳转第三方应用失败
剪贴板粘贴框遮挡智能填充选择框
个人数据处理说明
附录
支持的国家/地区
Screen Time Guard Kit(屏幕时间守护服务)
Screen Time Guard Kit简介
开发准备
配置签名
受限ACL权限申请
用户授权管理
概述
请求用户授权
取消用户授权
健康使用设备授权列表页中应用授权开关打开/关闭时触发回调
应用选择页
概述
拉起应用选择页
拉起许可应用跳转页
守护策略管理
概述
添加策略
修改策略
查询策略配置数据
启动策略
停止策略
查询策略运行数据
删除策略
应用访问限制
概述
设置应用访问限制
解除应用访问限制
拦截页跳转至管控应用
Screen Time Guard Kit术语
Share Kit(分享服务)
Share Kit简介
Share Kit术语
Share Kit体验规范
宿主应用发起分享需使用精细化的utd类型
目标设备接收分享数据一步直达体验
系统分享
概述
宿主应用发起分享
宿主应用接入模式
通过分享面板发起分享
配置目标应用名单(仅对企业应用开放)
自定义配置操作区
获取分享结果
目标应用处理分享内容
应用内处理分享内容
分享详情页处理分享内容
分享详情页关闭分享面板
判断应用是否被系统分享拉起
共享联系人信息到分享推荐区
目标应用设计规范
常见分享场景
分享链接
分享图片
分享视频
分享文本
碰一碰分享
手机与手机碰一碰分享
概述
内容分享
邀请组队
手机与PC/2in1碰一碰分享
概述
分享内容直达应用界面
手机与PC/2in1、手机与Tablet间相互分享
隔空传送
概述
打开设备侧隔空传送开关
可信任设备间传输
分享App Linking直达应用
Share Kit常见问题
拉起系统分享框失败
分享数据类型不支持
分享时提示“您选择的文件不支持分享”
Wallet Kit(钱包服务)
Wallet Kit简介
创建Wallet Kit服务
数字车钥匙
概述
云侧开发准备
钥匙开通
车控
接入交通卡
概述
云侧准备
交通卡开通
交通卡充值
交通卡更新
交通卡删卡
Wallet Kit常见问题
开发者应用使用Wallet Kit,是否需要集成华为Account Kit?
如果用户没有登录华为账号,添加卡券时如何处理?
现有提供的几种接入方式中,比较常用的是哪种?
添加卡券时商户服务器主要需要执行哪些步骤?
如何查看已添加卡券?
用户领取了同一商户的多张卡券,但是打开华为钱包后只显示一张卡券
用户删卡时会删除哪些信息?
Wallet Kit术语
Weather Service Kit(天气服务)
Weather Service Kit简介
开发准备
获取天气数据
Weather Service Kit 常见问题
如何获取指定城市的天气数据
Weather Service Kit接口有定位功能吗
请求了分钟级降水预报/天气预警/潮汐,未返回任何数据。
个人数据处理说明
AI
Agent Framework Kit(智能体框架服务)
Agent Framework Kit简介
通过Function组件拉起智能体
CANN Kit(CANN异构计算框架服务)
CANN Kit简介
开发准备
模型优化
Model Zoo
模型轻量化
概述
无训练量化
插件式量化
Transformer结构量化
LLM模型一站式量化
插件式量化
量化基模外挂LoRA微调
网络结构搜索训练
模型轻量化示例
常见问题
模型收益
模型转换
离线模型转换
模型转换前准备
模型转换示例
OMG参数
AIPP
概述
AIPP参数
模型转换AIPP配置文件说明
可变data_type
端侧部署
部署全流程
模型推理
AIPP部署
异构
维测调优
内存零拷贝
深度融合
App集成
创建项目
配置项目NAPI
集成模型
单算子应用
AscendC算子开发
自定义算子开发
AscendC简介
环境准备
快速入门
基本概念
硬件架构
基本架构
计算单元
存储单元
控制单元
编程模型
SPMD模型
核函数
硬件架构抽象
编程范式
编程API
接口概述
基础API
高阶API
算子实现
算子实现概述
矢量编程
矩阵编程(高阶API)
基础知识
矩阵编程算子实现
工程化算子开发
工程化算子开发概述
创建算子工程
基于工程实现算子
算子原型定义实现
Kernel侧算子实现
Host侧Tiling实现
算子编译安装
算子工程编译
算子包安装
算子调试调优
算子调试概述
数据准备和配置说明
输入数据和标杆数据准备
算子json配置模板获取
固定输入/输出顺序的算子json配置
params归一格式的算子json配置
调测功能介绍
Tiling调测功能
CPU孪生调试功能
Simulator性能仿真功能
更多功能
printf/PRINTF功能
DumpTensor功能
DumpAccChkPoint功能
assert功能
gdb调试
算子部署
算子入图(GE图)开发
算子入图概述
开发流程
图编译和图执行
AI框架算子适配
AI框架算子适配概述
ONNX框架
附录
Tensor基础知识参考
Tensor基本概念
数据排布格式
如何使用double buffer优化性能
如何申请workspace作为临时内存
如何升级工程到最新版本
算子工程创建工具参数说明
调测工具样例与参数说明
数据生成脚本适配样例
算子json配置文件样例
精度比对结果输出样例
同源算子调测样例
ascendebug调测工具参数说明
算子开发常见问题
AscendC算子接口
AscendC API
AscendC API列表
通用约束
数据类型定义
LocalTensor
GlobalTensor
ShapeInfo
UnaryRepeatParams
BinaryRepeatParams
基础API
标量计算
ScalarGetCountOfValue
ScalarCountLeadingZero
ScalarCast
CountBitsCntSameAsSignBit
ScalarGetSFFValue
矢量计算
单目指令
Exp
Ln
Abs
Reciprocal
Sqrt
Rsqrt
Not
Relu
更多样例
双目指令
Add
Sub
Mul
Div
Max
Min
And
Or
更多样例
标量双目指令
Adds
Muls
Maxs
Mins
ShiftLeft
ShiftRight
LeakyRelu
更多样例
标量三目指令
Axpy
更多样例
精度转换指令
数据转换
Transpose
TransDataTo5HD
数据填充
Duplicate
CreateVecIndex
数据分散/数据收集
数据搬运
DataCopy
普通数据搬运
随路格式转换
DataCopyPad
内存管理与同步控制
TPipe
构造函数
InitBuffer
Init
Destroy
Reset
AllocEventID
ReleaseEventID
FetchEventID
GetBaseAddr
InitBufPool
GetTPipePtr
TBufPool
简介
构造函数
InitBufPool
InitBuffer
Reset
TQue
简介
AllocTensor
FreeTensor
EnQue
DeQue
VacantInQue
HasTensorInQue
GetTensorCountInQue
HasIdleBuffer
FreeAllEvent
TQueBind
简介
构造函数
AllocTensor
FreeTensor
EnQue
DeQue
VacantInQue
HasTensorInQue
GetTensorCountInQue
HasIdleBuffer
FreeAllEvent
TBuf
简介
构造函数
Get
GetWithOffset
workspace
GetSysWorkSpacePtr
SetSysWorkSpace
GetUserWorkspace
核内同步
PipeBarrier(ISASI)
TPosition
系统变量访问
GetBlockNum
GetBlockIdx
调测接口
DumpTensor
printf
assert
DumpAccChkPoint
Trap
Kernel Tiling
GET_TILING_DATA
GET_TILING_DATA_WITH_STRUCT
TILING_KEY_IS
高阶API
矩阵相乘
Matmul
使用说明
Matmul模板参数
MatmulConfig
Init
SetTensorA
SetTensorB
Iterate
GetTensorC
IterateAll
End
Matmul Tiling
使用说明
构造函数
TCubeTiling结构体
数学库
Tanh
激活函数
SoftmaxFlashV2
Sigmoid
数据填充
Host API
原型注册与管理
原型注册接口(OP_ADD)
OpDef
Input
Output
Attr
SetInferShape
SetInferDataType
AICore
OpParamDef
ParamType
DataType
Format
ValueDepend
Follow
OpAttrDef
OpAICoreDef
SetTiling
AddConfig
Tiling数据结构注册
TilingData结构定义
TilingData结构注册
平台信息获取PlatformAscendC
简介
GetCoreNum
GetSocVersion
GetCoreNumAic
GetCoreNumAiv
CalcTschBlockDim
GetCoreMemSize
GetCoreMemBw
GetLibApiWorkSpaceSize
内部关联接口
算子调测API
GmAlloc
GmFree
ICPU_RUN_KF
ICPU_SET_TILING_KEY
基础数据结构和接口
基础数据结构和接口列表
gert命名空间
AnchorInstanceInfo
简介
构造函数
GetInstanceNum
GetInstanceStart
SetInstanceStart
SetInstantiationNum
CompileTimeTensorDesc
构造函数
GetDataType
GetFormat
GetOriginFormat
GetStorageFormat
GetExpandDimsType
SetDataType
SetStorageFormat
SetOriginFormat
SetExpandDimsType
ComputeNodeInfo
简介
构造函数
GetNodeType
GetNodeName
GetIrInputsNum
GetInputsNum
GetOutputsNum
GetIrOutputsNum
GetInputInstanceInfo
GetOutputInstanceInfo
GetInputTdInfo
GetOutputTdInfo
GetAttrs
MutableInputInstanceInfo
MutableOutputInstanceInfo
MutableInputTdInfo
MutableOutputTdInfo
MutableAttrs
SetNodeType
SetNodeName
Init
CalcSize
ContinuousVectorVector
简介
Init
Add
Get
GetSize
GetOverHeadLength
ContinuousVector
简介
Create
Init
GetSize
SetSize
GetCapacity
GetData
MutableData
ExpandDimsType
简介
构造函数
operator==
GetFullSize
SetExpandIndex
IsExpandIndex
Expand(输出新shape)
Expand(更改原shape)
ExtendedKernelContext
GetInputDesc
GetOutputDesc
GetOptionalInputDesc
GetDynamicInputDesc
GetRequiredInputDesc
GetIrInputInstanceInfo
GetIrOutputInstanceInfo
GetComputeNodeInputNum
GetComputeNodeOutputNum
GetAttrs
GetNodeType
GetNodeName
GetComputeNodeInfo
GetKernelName
GetKernelType
GetExtendInfo
InferDataTypeContext
GetInputDataType
GetOptionalInputDataType
GetRequiredInputDataType
GetOutputDataType
SetOutputDataType
InferShapeContext
GetInputShape
GetInputTensor
GetOptionalInputShape
GetRequiredInputTensor
GetRequiredInputShape
GetOutputShape
InferShapeRangeContext
GetInputShapeRange
GetInputTensorRange
GetOptionalInputTensorRange
GetDynamicInputTensorRange
GetOptionalInputShapeRange
GetDynamicInputShapeRange
GetRequiredInputShapeRange
GetRequiredInputTensorRange
GetOutputShapeRange
OpImplRegisterV2
构造和析构函数
InferShape
InferShapeRange
InferDataType
Tiling
PrivateAttr
TilingParse
InputsDataDependency
InferOutDataTypeSameWithFirstInput
GenSimplifiedKey
OpExecuteFunc
TilingInputsDataDependency
HostInputs
OutputShapeDependOnCompute
Range
简介
构造函数
operator==
SetMin
SetMax
GetMin
GetMax
RuntimeAttrs
构造函数
GetAttrPointer
GetInt
GetListInt
GetListListInt
GetStr
GetTensor
GetFloat
GetBool
GetListFloat
GetListListFloat
GetAttrNum
Shape
简介
构造函数
operator==
operator!=
operator[]
IsScalar
SetScalar
GetDimNum
SetDimNum
GetDim
SetDim
AppendDim
StorageFormat
构造函数
GetOriginFormat
SetOriginFormat
GetStorageFormat
SetStorageFormat
GetExpandDimsType
SetExpandDimsType
MutableExpandDimsType
operator==
operator!=
StorageShape
简介
构造函数
GetOriginShape
GetStorageShape
MutableOriginShape
MutableStorageShape
operator==
operator!=
TensorData
构造函数与析构函数
operator
GetAddr
GetSize
SetSize
GetPlacement
SetPlacement
Free
SetAddr
IsSharedWith
ShareFrom
TensorPlacementUtils
Tensor
构造函数
GetShapeSize
GetData
SetData
GetAddr
GetSize
SetSize
GetDataType
SetDataType
CreateFollowing
GetStorageShape
MutableStorageShape
GetOriginShape
MutableOriginShape
GetShape
GetStorageFormat
SetStorageFormat
GetOriginFormat
SetOriginFormat
GetFormat
MutableFormat
GetExpandDimsType
SetExpandDimsType
GetPlacement
SetPlacement
GetTensorData
MutableTensorData
TilingContext
GetInputShape
GetInputTensor
GetOptionalInputTensor
GetRequiredInputTensor
GetOptionalInputShape
GetRequiredInputShape
GetOutputShape
SetTilingKey
GetTilingKey
SetBlockDim
GetBlockDim
SetTilingCond
GetTilingCond
GetTilingData
GetRawTilingData
GetWorkspaceSizes
GetWorkspaceNum
GetPlatformInfo
TilingData
构造函数
GetCapacity
GetDataSize
SetDataSize
GetData
Append
CreateCap
CalcTotalSize
Init
operator
TypedContinuousVector
简介
MutableData
GetData
TensorPlacement
内部关联接口
ge命名空间
Allocator
构造函数和析构函数
Malloc
Free
MallocAdvise
AscendString
构造函数和析构函数
GetString
关系符重载
Find
Hash
GetLength
AttrValue
构造函数和析构函数
CreateFrom
GetValue
AutoMappingSubgraphIOIndexFuncRegister
FrameworkRegistry
构造函数和析构函数
GetAutoMappingSubgraphIOIndexFunc
AddAutoMappingSubgraphIOIndexFunc
InferenceContext
构造函数和析构函数
SetInputHandleShapesAndTypes
SetOutputHandleShapesAndTypes
GetInputHandleShapesAndTypes
GetOutputHandleShapesAndTypes
SetMarks
GetMarks
Create
GetResourceContext
SetResourceContext
RegisterReliedOnResourceKey
AddChangedResourceKey
GetReliedOnResourceKeys
GetChangedResourceKeys
ClearChangedResourceKeys
InferFormatFuncRegister
InferShapeFuncRegister
InferValueRangeFuncRegister
ListTensorType
MemBlock
构造函数和析构函数
GetAddr
GetSize
SetSize
Free
AddCount
SubCount
GetCount
OperatorCreatorRegister
OperatorFactory
CreateOperator
GetOpsTypeList
IsExistOp
Operator
构造函数和析构函数
AddControlInput
BreakConnect
IsEmpty
InferShapeAndType
GetAttr
GetAllAttrNamesAndTypes
GetAllIrAttrNamesAndTypes
GetDynamicInputNum
GetDynamicInputDesc
GetDynamicOutputNum
GetDynamicOutputDesc
GetDynamicSubgraph
GetDynamicSubgraphBuilder
GetInferenceContext
GetInputConstData
GetInputsSize
GetInputDesc
GetName
GetSubgraph
GetSubgraphBuilder
GetSubgraphNamesCount
GetSubgraphNames
GetOpType
GetOutputDesc
GetOutputsSize
SetAttr
SetInput
SetInferenceContext
SetInputAttr
SetOutputAttr
GetInputAttr
GetOutputAttr
TryGetInputDesc
UpdateInputDesc
UpdateOutputDesc
UpdateDynamicInputDesc
UpdateDynamicOutputDesc
VerifyAllAttr
DynamicInputRegister
DynamicInputRegisterByIndex
DynamicOutputRegister
SubgraphCountRegister
SetSubgraphBuilder
OpReceiver
OpRegistrationData
总体说明
构造函数和析构函数
REGISTER_CUSTOM_OP宏
FrameworkType
OriginOpType
ParseParamsFn
ParseParamsByOperatorFn
FusionParseParamsFn
FusionParseParamsFn(Overload)
ParseSubgraphPostFn
ParseOpToGraphFn
ImplyType
DelInputWithCond
DelInputWithOriginalType
GetImplyType
GetOmOptype
GetOriginOpTypeSet
GetFrameworkType
GetParseParamFn
GetParseParamByOperatorFn
GetFusionParseParamFn
GetFusionParseParamByOpFn
GetParseSubgraphPostFn
GetParseOpToGraphFn
AutoMappingFn
AutoMappingByOpFn
AutoMappingFnDynamic
AutoMappingByOpFnDynamic
AutoMappingSubgraphIndex
InputReorderVector
Promote
ShapeAndType
构造函数和析构函数
SetShape
GetShape
SetType
GetDataType
Shape
构造函数和析构函数
GetDim
GetDims
GetDimNum
GetShapeSize
SetDim
TensorDescInfo
TensorDesc
构造函数和析构函数
GetConstData
GetDataType
GetExpandDimsRule
GetFormat
GetName
GetOriginFormat
GetOriginShape
GetPlacement
GetRealDimCnt
GetShape
GetShapeRange
GetSize
SetConstData
SetDataType
SetExpandDimsRule
SetFormat
SetName
SetOriginFormat
SetOriginShape
SetPlacement
SetRealDimCnt
SetSize
SetShape
SetShapeRange
SetUnknownDimNumShape
Update
TensorType
Tensor
构造函数和析构函数
Clone
IsValid
GetData
GetDataType
GetExpandDimsRule
GetFormat
GetOriginFormat
GetOriginShapeDim
GetOriginShapeDimNum
GetPlacement
GetSize
GetShapeDimNum
GetShapeDim
GetTensorDesc
SetData
SetDataType
SetExpandDimsRule
SetFormat
SetOriginFormat
SetOriginShapeDim
SetOriginShapeDimNum
SetPlacement
SetShapeDimNum
SetShapeDim
SetTensorDesc
ResetData
TypeUtils
DataTypeToAscendString
AscendStringToDataType
FormatToAscendString
AscendStringToFormat
DataTypeToSerialString
SerialStringToDataType
FormatToSerialString
SerialStringToFormat
DataFormatToFormat
GetDataTypeLength
VerifyFuncRegister
ConvertToAscendString
ConvertToListAscendString
GetC0Format
GetC0Value
GetFormatFromC0
GetFormatFromSub
GetFormatFromSubAndC0
GetFormatName
GetPrimaryFormat
GetSizeByDataType
GetSizeInBytes
GetSubFormat
HasC0Format
HasSubFormat
ge::graphStatus
DataType
Format
BROADCAST_INFER
COMMON_INFER_FUNC_REG
DECLARE_ERRORNO
ELMTWISE_INFER_SHAPEANDTYPE
IMPLEMT_COMMON_INFERFUNC
IMPLEMT_INFERFORMAT_FUNC
IMPLEMT_INFERFUNC
IMPLEMT_VERIFIER
INFER_FORMAT_FUNC_REG
INFER_FUNC_REG
原型定义接口(REG_OP)
原型定义衍生接口说明
VERIFY_FUNC_REG
AscendC昇腾到麒麟兼容性迁移指南
兼容性说明
昇腾和麒麟同代AI处理器的映射关系
Ascend910B/Ascend910C到KirinX90/Kirin9030迁移指导
概述
基础API迁移指导
L2 Cache
数据类型
原子操作
同步控制
矩阵计算
数据搬运
资源管理
系统变量
Kernel Tiling
SuperKernel
高阶API迁移指导
算子编译迁移指导
LLM大模型能力开放
简介
CANN LLM模型量化
量化使用步骤
环境准备
三段式量化步骤
量化效果评估
CANN LLM模型转换
原始模型导出为友好结构ONNX模型
ONNX模型转换CANN模型
CANN Kit术语
CANN Kit常见问题
判断模型能否在手机上运行?
推理函数支持的数据格式有哪些?
如何处理OMG离线模型输出算子类型错误?
算法在设计模型时,如何确认哪些算子在CANN上性能较优?
附录
版本获取方法
支持的算子
可视化工具
Core Speech Kit(基础语音服务)
Core Speech Kit简介
文本转语音
语音识别
个人数据处理说明
Core Vision Kit(基础视觉服务)
Core Vision Kit简介
通用文字识别
人脸检测
人脸比对
主体分割
多目标识别
骨骼点检测
图像超分
通过文本搜索图片
个人数据处理说明
Intents Kit(意图框架服务)
Intents Kit简介
Intents Kit接入流程
习惯推荐方案
概述
场景体验
接入方案
开发者测试
事件推荐方案
概述
场景体验
接入方案
开发者测试
位置推荐方案
概述
场景体验
接入方案
开发者测试
POI方案
Beacon(蓝牙信标设备)方案
技能调用方案
概述
场景体验
接入方案
概述
任务执行类场景方案(配置文件接入方式)
任务执行类场景方案(装饰器接入方式)
方案概述
基于Link的装饰器方案
基于Page的装饰器方案
基于函数的装饰器方案
自定义意图相关信息定义规范
功能一步达场景方案
开发者测试
配置文件接入方式自测试方案
装饰器接入方式自测试方案
本地搜索方案
概述
场景体验
接入方案
功能搜索方案
内容搜索方案
意图框架上架配置指导
意图标准协议上架指导
MCP协议上架指导
常见问题
intentName报错Intent 'xxxxxx' is not included in domain 'xxxxxx'. Select an intent from the list of suggestions.如何解决?
inputParams报错Value should be one of: "intentName", "domain", "intentVersion", "srcEntry", "uiAbility", "serviceExtension", "uiExtension", "form"如何解决?
使用意图框架调试助手Agent进行联调时,小艺拉起应用后,出现闪退情况,应该如何处理?
功能一步达场景是否有云侧动态声明词条的方案?
附录A:获取华为账号对应UID的方式
MindSpore Lite Kit(昇思推理框架服务)
MindSpore Lite Kit简介
使用MindSpore Lite进行模型转换
模型部署
使用MindSpore Lite进行模型推理 (C/C++)
使用MindSpore Lite进行端侧训练 (C/C++)
使用MindSpore Lite实现图像分类(ArkTS)
使用MindSpore Lite实现图像分类(C/C++)
使用MindSpore Lite实现语音识别(C/C++)
附录
MindSpore Lite Kit算子支持列表
Natural Language Kit(自然语言理解服务)
Natural Language Kit简介
分词
实体抽取
Neural Network Runtime Kit(Neural Network运行时服务)
Neural Network Runtime Kit简介
Neural Network Runtime对接AI推理框架开发指导
Speech Kit(场景化语音服务)
Speech Kit简介
朗读控件
AI字幕控件
Vision Kit(场景化视觉服务)
Vision Kit简介
人脸活体检测
卡证识别
文档扫描
AI识图
个人数据处理说明
一次开发,多端部署
一次开发,多端部署文档路径调整
自由流转
自由流转文档路径调整
NDK开发
NDK开发导读
创建NDK工程
构建NDK工程
NDK工程构建概述
使用DevEco Studio模板构建NDK工程
使用命令行CMake构建NDK工程
在NDK工程中使用预构建库
毕昇编译器
三方动态链接库集成
代码开发
代码开发概述
C/C++标准库
C/C++标准库机制概述
fdsan使用指导
使用Node-API实现ArkTS/JS与C/C++语言交互
Node-API简介
Node-API接口返回状态码介绍
Node-API支持的数据类型和接口
Node-API开发规范
使用Node-API实现跨语言交互开发流程
Node-API使用指导
使用Node-API进行扩展能力功能开发
使用Node-API接口进行array相关开发
使用Node-API接口进行ArrayBuffer相关开发
使用Node-API接口操作bigint类型值
使用Node-API接口进行buffer相关开发
使用Node-API接口创建基本数据类型
使用Node-API进行class相关开发
使用Node-API接口注册和使用环境清理钩子
使用Node-API接口进行Date相关开发
使用Node-API接口进行错误处理开发
使用Node-API接口关联数据,使其生命周期与当前环境的生命周期相关联
使用Node-API接口进行函数创建和调用
使用Node-API接口进行生命周期相关开发
使用Node-API接口进行object相关开发
使用Node-API其他实用接口
使用Node-API接口进行primitive类相关开发
使用Node-API接口处理异步操作
使用Node-API接口设置ArkTS对象的属性
使用Node-API接口创建和获取string值
使用Node-API进行自定义异步操作相关开发
Node-API典型使用场景
使用Node-API接口进行异步任务开发
使用Node-API接口进行线程安全开发
Native与ArkTS对象绑定
Native与Sendable ArkTS对象绑定
使用Node-API接口创建ArkTS运行时环境
使用Node-API接口在主线程中进行模块加载
使用扩展的Node-API接口在异步线程中运行和停止事件循环
使用Node-API接口进行模块加载
使用Node-API接口从异步线程向ArkTS线程投递指定优先级和入队方式的任务
使用扩展的Node-API接口在当前线程中创建、切换和销毁上下文环境
使用扩展的Node-API接口创建对ArkTS对象的强引用
使用扩展的Node-API接口创建和销毁临界区作用域及访问字符串内容
使用Node-API接口产生的异常日志/崩溃分析
使用Node-API调用返回值为promise的ArkTS方法
使用扩展的Node-API接口创建对ArkTS对象的Sendable强引用
使用扩展的Node-API接口加速属性访问
Node-API常见问题汇总
Node-API常见问题
稳定性相关问题汇总
内存泄漏相关问题汇总
常见基本功能问题汇总
使用JSVM-API实现JS与C/C++语言交互
JSVM-API简介
JSVM-API 支持的数据类型和接口
使用JSVM-API实现JS与C/C++语言交互开发流程
JSVM-API开发规范
JSVM-API使用规范
JSVM-API常见问题
JSVM-API使用指导
使用JSVM-API接口进行任务队列相关开发
使用JSVM-API接口进行虚拟机快照相关开发
使用JSVM-API接口进行WebAssembly模块相关开发
使用JSVM-API接口进行函数创建和调用
使用JSVM-API接口进行JSON操作
使用JSVM-API接口进行array相关开发
使用JSVM-API接口进行ArrayBuffer相关开发
使用JSVM-API接口从外部内存创建ArrayBuffer
使用JSVM-API接口操作bigint类型值
使用JSVM-API接口进行class相关开发
使用JSVM-API接口进行Date相关开发
使用JSVM-API接口进行debug操作
使用JSVM-API接口进行object相关开发
使用JSVM-API接口进行primitive类相关开发
使用JSVM-API接口处理异步操作
使用JSVM-API接口设置JavaScript对象的属性
使用JSVM-API接口创建和获取string值
使用JSVM-API接口获取JSVM API的版本号
使用JSVM-API接口进行错误处理开发
使用JSVM-API接口进行JavaScript代码调试调优
使用JSVM-API接口进行生命周期相关开发
使用JSVM-API进行内存管理
使用JSVM-API判断给定的两个JS value是否严格相等
使用JSVM-API进行异常的定制化处理
使用JSVM-API感知JSVM引擎生命周期管理
使用JSVM-API获取堆快照及监控堆内存阈值
使用JSVM-API接口进行private相关开发
使用JSVM-API接口提供Latin1/UTF16格式字符串相关开发
使用JSVM-API提供的proxy接口
使用JSVM-API接口进行Well-known symbols相关开发
使用JSVM-API接口进行Wrapper object相关开发
使用JSVM-API接口创建和获取数值
JSVM-API典型使用场景指导
JSVM-API调试&定位
使用JSVM-API接口进行Trace相关开发
JSVM-API 申请JIT权限指导
JSVM-API 坚盾守护模式
JSVM-API 内存泄漏问题定位指导
JSVM-API调优&高性能使用示例
使用JSVM-API接口创建多个引擎执行JS代码并销毁
使用code cache加速编译
JSVM通用调优实践
JSVM性能调试指导
使用HiSmartPerf采集jsvm trace
使用DevTools进行网页内存分析
Longque-JS-API
Longque-JS-API使用指导
OpenMP支持
OpenMP简介
OpenMP应用构建和运行指南
资源管理
Rawfile开发指导
包管理
NativeBundle开发指导
编译工具链
GN构建工程配置HarmonyOS编译工具链
CMake构建工程配置HarmonyOS编译工具链
Make构建工程配置HarmonyOS编译工具链
Configure构建工程配置HarmonyOS编译工具链
使用lycium交叉编译框架快速编译三方库
跨语言调用复杂参数传递
Native侧子线程与UI主线程通信
调试和性能分析
调试和性能分析概述
C/C++内存错误检测
LLDB高性能调试器
硬件兼容性
硬件兼容性简介
HarmonyOS ABI
CPU特性
使用Neon指令扩展
工具
开发环境搭建
工具概述
下载与安装DevEco Studio
使用新UI
工程创建
工程介绍
工程目录结构介绍
工程模板介绍
创建一个新的工程
模块管理
添加和删除模块
导入和引用模块
卸载和加载模块
开发发布和管理共享包
开发静态共享包
开发动态共享包
发布共享包
引用及管理共享包
ohpm-repo私仓搭建工具
概述
快速开始
配置文件
日志
相关命令
ohpm-repo help
ohpm-repo install
ohpm-repo start
ohpm-repo restart
ohpm-repo stop
ohpm-repo --version
ohpm-repo encrypt_password
ohpm-repo pack
ohpm-repo deploy
ohpm-repo restore
ohpm-repo mirror_storage
ohpm-repo check_storage
ohpm-repo remove_instance
数据迁移相关命令
ohpm-repo export_pkginfo
ohpm-repo batch_download
ohpm-repo batch_publish
ohpm-repo export_userinfo
ohpm-repo import_userinfo
ohpm-repo export_pkgPermission
ohpm-repo import_pkgPermission
部署指导
单点部署
多实例部署
页面功能介绍
前台页面
个人中心主页
用户管理
仓库管理
包权限管理
认证管理
组织管理
操作日志
系统设置
安全配置指南
常见问题FAQ
附录
数据迁移
版本升级
1.0.1升级至2.X.X/5.X.X版本
1.1.0升级至2.X.X/5.X.X版本
2.X.X/5.X.X升级至更高版本
自定义存储插件
自定义存储插件配置
模板文件
自定义认证插件
自定义认证插件配置
模板文件
数据备份
导出OpenHarmony三方库中心仓元数据至ohpm-repo
ohpm仓库接口协议
自定义元数据规则校验插件
自定义元数据规则校验插件配置
模板文件
基于Dockerfile部署ohpm-repo私仓
添加Ability
添加Page
生成单层图标
创建服务卡片
创建意图框架
端云一体化开发
业务介绍
开发准备
注册华为开发者账号并实名认证
搭建开发环境
在AGC创建项目和HarmonyOS应用/元服务
开发端云工程
创建端云一体化开发工程
创建HarmonyOS应用工程
创建元服务工程
历史工程转换为端云一体化开发工程
开发云侧工程
开发云函数
开发流程
创建并配置函数
开发函数
调试函数
部署函数
开发云对象
开发流程
创建云对象
开发云对象
调试云对象
部署云对象
开发云数据库
开发流程
创建对象类型
添加数据条目
部署云数据库
(可选)一键生成Model Class
部署云侧工程
(可选)同步云端代码至DevEco Studio工程
开发端侧工程
在端侧调用云侧代码
在端侧调用云函数
在端侧调用云对象
在端侧访问云数据库
在端侧调用云存储
(可选)通过CloudDev面板获取云开发资源支持
打包测试
发布上架
FAQ
附录:云开发工程模板
通用云开发模板
离线环境配置指导
使用AI智能辅助编程
版本说明
工具概述
智能问答
知识问答
工程问答
特性问答
代码分析
智能执行
代码生成
代码修改
编辑区代码生成
编辑区对话
代码续写
页面生成
万能卡片生成
单元测试用例生成
代码智能解读
编译报错智能分析
智慧调优
应用UI生成
意图装饰器生成和小艺智能体创建
自定义智能体配置
自定义智能体(Agent)配置和调用
模型上下文协议(MCP)配置
模型(Model)配置
规则(Rules)配置
技能(Skills)配置
记忆(Memory)配置
自定义提示词库(Prompts)配置
自定义指令(Commands)配置
本地知识库配置
编写与调试应用
代码编辑
代码阅读
代码生成/补全
代码检查
代码实时检查及快速修复
Code Linter代码检查
Code Linter代码检查规则
规则变更说明
recommended推荐规则清单
通用规则@typescript-eslint
@typescript-eslint/adjacent-overload-signatures
@typescript-eslint/array-type
@typescript-eslint/await-thenable
@typescript-eslint/ban-ts-comment
@typescript-eslint/ban-tslint-comment
@typescript-eslint/ban-types
@typescript-eslint/brace-style
@typescript-eslint/class-literal-property-style
@typescript-eslint/comma-dangle
@typescript-eslint/comma-spacing
@typescript-eslint/consistent-indexed-object-style
@typescript-eslint/consistent-type-assertions
@typescript-eslint/consistent-type-definitions
@typescript-eslint/consistent-type-imports
@typescript-eslint/default-param-last
@typescript-eslint/dot-notation
@typescript-eslint/explicit-function-return-type
@typescript-eslint/explicit-member-accessibility
@typescript-eslint/explicit-module-boundary-types
@typescript-eslint/func-call-spacing
@typescript-eslint/init-declarations
@typescript-eslint/keyword-spacing
@typescript-eslint/lines-between-class-members
@typescript-eslint/member-delimiter-style
@typescript-eslint/member-ordering
@typescript-eslint/method-signature-style
@typescript-eslint/naming-convention
@typescript-eslint/no-array-constructor
@typescript-eslint/no-base-to-string
@typescript-eslint/no-confusing-non-null-assertion
@typescript-eslint/no-confusing-void-expression
@typescript-eslint/no-dupe-class-members
@typescript-eslint/no-duplicate-imports
@typescript-eslint/no-dynamic-delete
@typescript-eslint/no-empty-function
@typescript-eslint/no-empty-interface
@typescript-eslint/no-explicit-any
@typescript-eslint/no-extraneous-class
@typescript-eslint/no-extra-non-null-assertion
@typescript-eslint/no-extra-parens
@typescript-eslint/no-extra-semi
@typescript-eslint/no-floating-promises
@typescript-eslint/no-for-in-array
@typescript-eslint/no-implicit-any-catch
@typescript-eslint/no-implied-eval
@typescript-eslint/no-inferrable-types
@typescript-eslint/no-invalid-this
@typescript-eslint/no-invalid-void-type
@typescript-eslint/no-loop-func
@typescript-eslint/no-loss-of-precision
@typescript-eslint/no-magic-numbers
@typescript-eslint/no-misused-new
@typescript-eslint/no-misused-promises
@typescript-eslint/no-namespace
@typescript-eslint/no-non-null-asserted-optional-chain
@typescript-eslint/no-non-null-assertion
@typescript-eslint/no-parameter-properties
@typescript-eslint/no-redeclare
@typescript-eslint/no-require-imports
@typescript-eslint/no-restricted-syntax
@typescript-eslint/no-shadow
@typescript-eslint/no-this-alias
@typescript-eslint/no-throw-literal
@typescript-eslint/no-type-alias
@typescript-eslint/no-unnecessary-boolean-literal-compare
@typescript-eslint/no-unnecessary-condition
@typescript-eslint/no-unnecessary-qualifier
@typescript-eslint/no-unnecessary-type-arguments
@typescript-eslint/no-unnecessary-type-assertion
@typescript-eslint/no-unnecessary-type-constraint
@typescript-eslint/no-unsafe-argument
@typescript-eslint/no-unsafe-assignment
@typescript-eslint/no-unsafe-call
@typescript-eslint/no-unsafe-member-access
@typescript-eslint/no-unsafe-return
@typescript-eslint/no-unused-expressions
@typescript-eslint/no-unused-vars
@typescript-eslint/no-use-before-define
@typescript-eslint/no-useless-constructor
@typescript-eslint/prefer-as-const
@typescript-eslint/prefer-enum-initializers
@typescript-eslint/prefer-for-of
@typescript-eslint/prefer-function-type
@typescript-eslint/prefer-includes
@typescript-eslint/prefer-literal-enum-member
@typescript-eslint/prefer-namespace-keyword
@typescript-eslint/prefer-nullish-coalescing
@typescript-eslint/prefer-optional-chain
@typescript-eslint/prefer-readonly
@typescript-eslint/prefer-readonly-parameter-types
@typescript-eslint/prefer-reduce-type-parameter
@typescript-eslint/prefer-regexp-exec
@typescript-eslint/prefer-string-starts-ends-with
@typescript-eslint/prefer-ts-expect-error
@typescript-eslint/promise-function-async
@typescript-eslint/quotes
@typescript-eslint/require-array-sort-compare
@typescript-eslint/require-await
@typescript-eslint/restrict-plus-operands
@typescript-eslint/restrict-template-expressions
@typescript-eslint/return-await
@typescript-eslint/semi
@typescript-eslint/space-before-function-paren
@typescript-eslint/space-infix-ops
@typescript-eslint/strict-boolean-expressions
@typescript-eslint/switch-exhaustiveness-check
@typescript-eslint/triple-slash-reference
@typescript-eslint/type-annotation-spacing
@typescript-eslint/typedef
@typescript-eslint/unbound-method
@typescript-eslint/unified-signatures
prefer-const
eqeqeq
安全规则@security
@security/no-commented-code
@security/no-cycle
@security/no-unsafe-aes
@security/no-unsafe-dh
@security/no-unsafe-dsa
@security/no-unsafe-dh-key
@security/no-unsafe-dsa-key
@security/no-unsafe-ecdsa
@security/no-unsafe-hash
@security/no-unsafe-mac
@security/no-unsafe-rsa-encrypt
@security/no-unsafe-rsa-key
@security/no-unsafe-rsa-sign
@security/no-unsafe-3des
@security/specified-interface-call-chain-check
@security/no-unsafe-kdf
@security/no-unsafe-sm4
@security/no-unsafe-sm2-key
@security/no-unsafe-sm2-cipher
@security/no-unsafe-ecdh
@security/no-unsafe-huks
性能规则@performance
@performance/avoid-overusing-custom-component-check
@performance/bad-deep-clone-check
@performance/constant-property-referencing-check-in-loops
@performance/crypto-replacement-check
@performance/custom-node-memory-leak-check
@performance/dark-color-mode-check
@performance/datashare-query-unrelease-check
@performance/foreach-args-check
@performance/foreach-index-check
@performance/gif-hardware-decoding-check
@performance/hp-arkui-avoid-update-auto-state-var-in-aboutToReuse
@performance/hp-arkui-avoid-empty-callback
@performance/hp-arkui-combine-same-arg-animateto
@performance/hp-arkui-image-async-load
@performance/hp-arkui-load-on-demand
@performance/hp-arkui-limit-refresh-scope(已下线)
@performance/hp-arkui-no-func-as-arg-for-reusable-component
@performance/hp-arkui-no-high-freq-log(已下线)
@performance/hp-arkui-no-stringify-in-lazyforeach-key-generator
@performance/hp-arkui-no-state-var-access-in-loop
@performance/hp-arkts-no-use-any-export-current
@performance/hp-arkts-no-use-any-export-other
@performance/hp-arkui-remove-container-without-property
@performance/hp-arkui-replace-nested-reusable-component-by-builder
@performance/hp-arkui-reduce-pangesture-distance
@performance/hp-arkui-remove-redundant-nest-container
@performance/hp-arkui-remove-redundant-state-var
@performance/hp-arkui-remove-unchanged-state-var
@performance/hp-arkui-set-cache-count-for-lazyforeach-grid
@performance/hp-arkui-suggest-cache-avplayer
@performance/hp-arkui-suggest-reuseid-for-if-else-reusable-component
@performance/hp-arkui-suggest-use-effectkit-blur
@performance/hp-arkui-suggest-use-get-anonymousid-async
@performance/hp-arkui-use-attributeUpdater-control-refresh-scope
@performance/hp-arkui-use-grid-layout-options
@performance/hp-arkui-use-id-in-get-resource-sync-api
@performance/hp-arkui-use-local-var-to-replace-state-var
@performance/hp-arkui-use-onAnimationStart-for-swiper-preload
@performance/hp-arkui-use-object-link-to-replace-prop
@performance/hp-arkui-use-row-column-to-replace-flex
@performance/hp-arkui-use-reusable-component
@performance/hp-arkui-use-scale-to-replace-attr-animateto
@performance/hp-arkui-use-taskpool-for-web-request
@performance/hp-arkui-use-transition-to-replace-animateto
@performance/hp-arkui-use-word-break-to-replace-zero-width-space
@performance/hp-arkui-wrap-waterflow-if-else-footer(已下线)
@performance/high-frequency-log-check
@performance/hp-ffrt-no-use-std
@performance/hp-performance-no-closures
@performance/hp-performance-no-dynamic-cls-func
@performance/init-list-component
@performance/js-code-cache-by-interception-check
@performance/js-code-cache-by-precompile-check
@performance/lazyforeach-args-check(已下线)
@performance/lottie-animation-destroy-check
@performance/multiple-associations-state-var-check
@performance/monitor-invisible-area-in-image-animation
@performance/no-use-any-import
@performance/no-high-loaded-frame-rate-range
@performance/number-init-check
@performance/nested-post-frame-callback-check
@performance/object-creation-check(已下线)
@performance/reasonable-audio-use-check
@performance/reasonable-gps-use-check
@performance/reuse-date-instances-check
@performance/reasonable-sensor-use-check
@performance/sparse-array-check
@performance/start-window-icon-check
@performance/state-variable-usage-in-ui-format-check
@performance/typed-array-check
@performance/timezone-interface-check
@performance/tabs-on-change-check
@performance/update-state-var-between-animatetos-check
@performance/web-cache-mode-check
@performance/web-on-active-check
@performance/waterflow-data-preload-check
预览规则@previewer
@previewer/mandatory-default-value-for-local-initialization
@previewer/no-page-method-on-preview-component
@previewer/no-unallowed-decorator-on-root-component
一次开发多端部署规则@cross-device-app-dev
@cross-device-app-dev/color-contrast
@cross-device-app-dev/color-value
@cross-device-app-dev/font-size-unit
@cross-device-app-dev/font-size
@cross-device-app-dev/grid-columns-span
@cross-device-app-dev/grid-span-value
@cross-device-app-dev/one-multi-breakpoint-check
@cross-device-app-dev/sidebar-navigation
@cross-device-app-dev/size-unit
@cross-device-app-dev/touch-target-size
@cross-device-app-dev/window-size-change-listener-check
@cross-device-app-dev/immersive-effect-check
ArkTS代码风格规则@hw-stylistic
@hw-stylistic/array-bracket-spacing
@hw-stylistic/brace-style
@hw-stylistic/comma-spacing
@hw-stylistic/curly
@hw-stylistic/file-naming-convention
@hw-stylistic/indent
@hw-stylistic/keyword-spacing
@hw-stylistic/max-len
@hw-stylistic/no-multi-spaces
@hw-stylistic/no-tabs
@hw-stylistic/object-property-newline
@hw-stylistic/one-var-declaration-per-line
@hw-stylistic/operator-linebreak
@hw-stylistic/quotes
@hw-stylistic/semi-spacing
@hw-stylistic/space-before-blocks
@hw-stylistic/space-before-function-paren
@hw-stylistic/space-infix-ops
正确性规则@correctness
@correctness/avsession-buttons-check
@correctness/audio-interrupt-check
@correctness/audio-pause-or-mute-check
@correctness/avsession-metadata-check
@correctness/image-pixel-format-check
@correctness/image-interpolation-check
@correctness/listen-default-network-change
@correctness/listen-multi-network-concurrent
@correctness/multimedia-use-stride-in-image-receiver
@correctness/redundant-dependency-check
@correctness/v1-nested-object-property-change-format-check
@correctness/v1-state-object-member-used-in-function-parameter-check
@correctness/accessibility-label-check
@correctness/accessibility-focus-redundancy-check
@correctness/accessibility-type-redundancy-check
@correctness/accessibility-status-missing-check
兼容性规则@compatibility
@compatibility/api-compatibility-check
Code Scanner代码检查
Clang-Tidy代码检查
代码重构
生成ArkTSDoc文档
文档生成
标准标签
@author
@copyright
@deprecated
@param
@returns
@since
@throws
@todo
@version
{@link}
快速插入场景化代码片段
跨语言代码编辑
界面预览
概述
PreviewChecker检测规则
查看ArkTS/JS预览效果
查看ArkUI预览效果
Profile Manager
查看多端设备预览效果
Inspector双向预览
预览数据模拟
使用预览器调试应用
支持使用预览器的API清单
配置调试签名
使用本地真机运行应用
使用仿真器运行轻量级穿戴应用
使用模拟器运行应用
概述
使用环境
设备支持类型
模拟器与真机的差异
管理模拟器
创建模拟器
启动和关闭模拟器
使用模拟器
操控屏幕
使用工具栏
移动和缩放模拟器
模拟器访问网络
安装应用程序包和上传文件
更多的扩展能力
修改模拟器
自定义屏幕配置
通过命令行使用模拟器
远程控制模拟器
离线部署模拟器
模拟器错误码
应用调试
调试概述
自定义运行/调试配置
代码调试
ArkTS代码调试
调试场景说明
debug启动调试
attach启动调试
等待调试
使用断点
检查变量
反向调试
extension调试
多进程调试
打印表达式
智能步入
查看异步函数堆栈
Native代码调试
启动调试
使用断点
检查变量
汇编调试
查看内存信息
使用LLDB调试命令
反向调试
堆栈可视化
so信息可视化
设置执行点
智能步入
Native调试启动加速
使用调试器
跨语言调试
三方库源码调试
增量调试
Hot Reload
查看ArkUI状态变量
开发者模式
开发者选项
开发者关怀
布局分析
访问设备文件
数据库调试
截屏
录屏
设备投屏
调试错误码
运行配置错误码
热重载和增量调试错误码
调试失败错误码
hdc命令失败错误码
日志与故障分析
日志分析
故障分析
FaultLog
查看Cpp Crash(进程崩溃)日志
查看AppFreeze(应用冻屏)日志
查看App Killed(应用终止)日志
解析应用minidump文件
堆栈轨迹分析
异常堆栈解析原理
使用ASan检测内存错误
使用HWASan检测内存错误
使用TSan检测线程错误
使用UBSan检测未定义行为
方舟运行时检测
开发自测试
测试框架
代码测试
Instrument Test
Local Test
Mock能力
黑盒覆盖率测试
测试框架错误码
仪器测试错误码
本地测试错误码
命令行测试错误码
应用与元服务体检
体检概述
场景化体检
规则体检
上架前体检
上架合规体检
导入DevEco Testing的检测报告进行诊断
导入上架检测报告进行诊断
管理体检报告
附录
体检规则
规则总览
点击操作响应快
点击操作完成快
滑动操作响应快
滑动过程流畅
转场操作流畅
动态内存峰值占用
前台场景内存峰值占用
后台CPU占用峰值
节点数超过500过多
启动加载完成快
附录
配置代理
Terminal环境变量说明
运维服务
DevEco Studio配置参数列表
关闭数据采集
日志上传
OHPM版本号规则
pac.json5隐私清单文件
构建应用
版本说明
概述
构建系统生命周期
构建任务说明
构建产物说明
配置文件
配置文件概述
hvigor-config.json5文件
工程级build-profile.json5文件
模块级build-profile.json5文件
配置构建流程
多模块管理
添加依赖项
配置多目标产物
能力说明
实践说明
构建HAR
配置CPP
预构建库快速链接
多工程构建
HAP唯一性校验逻辑
自定义.hvigor目录路径
定制构建
灵活定制编译选项
能力说明
实践说明
获取自定义编译参数
能力说明
实践说明
动态修改编译配置
能力说明
实践说明
提升构建效率
分析构建过程
守护进程
并行构建
增量构建
性能优化实验特性
模块化编译
扩展构建能力
开发Hvigor任务
开发Hvigor插件
扩展构建API
基础构建能力
插件上下文
API使用示例
任务可视化与执行
混淆加固
构建报错排查
使用日志记录
编译构建常见问题
编译构建错误码
依赖错误码
脚本错误码
配置错误码
资源缺失错误码
语法错误码
规格错误码
权限错误码
操作异常错误码
ArkTS编译错误码
签名工具错误码
优化应用性能
性能调优工具简介
DevEco Profiler调优工具简介
界面布局
会话区
数据区
使用Profiler进行性能调优
性能优化过程简介
性能问题定界:实时监控
性能问题定位:深度录制
卡顿丢帧分析
Frame分析
ArkUI分析
案例:使用Frame模板分析应用卡顿问题
冷启动:Launch分析
Launch模板基本操作
案例:应用冷启动首帧完成时延问题分析
内存泄漏:Snapshot分析
Snapshot模板基本操作
案例:ArkTS内存泄漏分析
基础内存:Allocation分析
内存分析介绍
内存分析数据筛选
启动时内存分析
案例:Native内存泄漏分析
UI组件内存:ComMemory分析
能耗诊断:Energy分析
加载丢帧:ArkWeb分析
网络诊断:Network分析
并行并发:Concurrency分析
GPU活动分析
基础耗时:Time分析
CPU活动分析
附录
GPU帧捕获工具:Graphics Profiler抓帧入口
快捷键
错误码
DevEco Profiler术语
发布应用
发布应用
命令行工具
获取Command Line Tools
代码检查工具(codelinter)
堆栈解析工具(hstack)
模拟器工具(Emulator)
命令行构建工具(hvigorw)
三方依赖管理工具(ohpm)
系统平台要求
ohpmrc
oh-package.json5
常用命令
ohpm config
ohpm help
ohpm info
ohpm init
ohpm install
ohpm list
ohpm publish
ohpm uninstall
ohpm prepublish
ohpm unpublish
ohpm update
ohpm root
ohpm version
ohpm cache clean
ohpm run
ohpm --version
ohpm ping
ohpm clean
ohpm dist-tags
ohpm convert
ohpm dependency-check
错误码
ohpm config错误码
ohpm info错误码
ohpm install错误码
ohpm list错误码
ohpm publish错误码
ohpm uninstall错误码
ohpm unpublish错误码
ohpm update错误码
ohpm version错误码
ohpm cache clean错误码
ohpm run错误码
ohpm ping错误码
ohpm clean错误码
ohpm dist-tags错误码
ohpm convert错误码
ohpm dependency-check错误码
ohpm命令公共错误码
搭建流水线
测试
应用测试
HarmonyOS 开发者测试服务概述
单元测试和UI测试
自动化测试框架使用指导
单元测试框架使用指导
UI测试框架使用指导
白盒性能测试框架使用指导
应用UI测试(基于Python)
自定义性能脚本测试(基于Python)
专项测试
命令行工具
HiSmartPerf Device性能使用指导
wukong稳定性工具使用指导
DevEco Testing
快速上手
上架预检
性能测试
稳定性测试
UX测试
其他测试服务
实用工具
常见问题
体验建议
应用体验建议
体验建议概述
应用基础功能和兼容性体验建议
概述
系统特性与基础功能
通用规格
应用规格
元服务规格
卡片规格
自由流转规格
音频规格
显示规格
协议规格
基础兼容性
OS兼容
升级兼容
设备兼容
应用稳定性体验建议
应用性能体验建议
概述
时延
帧率
内容显示
内存占用
CPU占用
应用功耗体验建议
概述
后台场景
后台任务使用
后台硬件资源使用
后台软件资源使用
前台场景
前台帧率
前台绘制渲染
前台资源使用
应用安全隐私体验建议
概述
安全
组件安全
WebView安全
存储安全
配置安全
签名安全
实现安全
隐私
通知
选择和同意
收集
数据主体访问
向第三方披露
隐私保护能力
纯净
恶意弹窗
隐藏误导
恶意霸屏
保活拉活
伪造篡改
其他
应用UX体验建议
指南
应用服务
IAP Kit(应用内支付服务)
IAP Kit(应用内支付服务)
IAP Kit简介
IAP Kit接入规范
接入Skill(可选)
使用入门
开发准备
商品购买
沙盒测试
收益分析和报告
售后
IAP Kit常见问题
IAP Kit术语
附录
标志使用规范
IAP Kit简介
意见反馈
以上内容对您是否有帮助?
意见反馈
如果您有其他疑问,您也可以通过开发者社区问答频道来和我们联系探讨。
社区提问
智能客服提问
在 指南 中进行搜索
只在 应用服务 中搜索
只搜索章节标题
请输入您想要搜索的关键词
智能客服
你问我答,随时在线为你解决问题
合作咨询
我们的专家服务团队将竭诚为您提供专业的合作咨询服务
解决方案
精准高效的一站式服务支持,助力开发者商业成功